- ベストアンサー
このようなことを awk できるでしょうか?
株式のバックテストしてみたいと思っています。 バックテストとは、過去の株価データでの仮想の取引です。 考えているのは1銘柄での条件売買です。 具体的には、 1年分(250行弱)の 日付、始値、高値、安値、終値 を使って色々計算して結果を出力する。 このようなことを AWK でできますでしょうか? プログラミング未経験なので、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
補足の内容ならawkでも出来ます。(if文が使えるので) ただ、awkは通常のプログラミング言語とちょっ処理の流れが異なるので、慣れるまではちょっと苦労するかもしれません。 データが日付、始値、高値、安値、終値の順になっていたとして、 ($1>="2/25") { 処理1 } とすれば日付が2/25以降の場合に処理1を実施します。 この処理1の中に演算やif文による条件分岐も入れられます。 ただ日付(上の例の"2/25")は数値ではないので、書式を注意しないと判定が正しくできない可能性もあります。
その他の回答 (1)
- midare_oni
- ベストアンサー率24% (6/25)
awkでは四則演算や指数対数関数、三角関数、配列を扱うことが出来ます。 どのような処理をしたいのか、質問の内容だけでは不明ですが、これらの計算の組合せで出来る内容なら可能です。 でも250行程度なら、Excelを使った方が高度な関数を使えるので簡単なような気がしますが。
お礼
大変参考になるご回答ありがとうございます。 そうですね、説明不足なので補足入れますね。
補足
指定した日付以降での(1)買い注文と(2)利幅を使った仮想売買です。 例えば、 指定日で(1)200円で買い注文、(2)利幅10円 買い成立は、指定日以降200円より安い、安値が初めて現れた日 買い成立の翌日以降に「買値+値幅」で売り注文 売り成立は、売り注文日以降の売値より高い、高値が現れた日 あと、最初の買い値より1割下がるごとに買い増しして、 それを買値+(2)で売り注文 最初の指定分が売れたら、また最初指定の値段で買い注文 のような取引を考えています。
お礼
詳しいご回答、本当にどうもありがとうございました。 買値や値幅を変えて色々試す予定ですので日付も数値に してやってみようと思います。1月1日→0101