システムトレードブログ

イザナミ+リアルタイム株価対応戦略を作る(5)

トレシズ自動売買の開発方法

修正後のタワーCSV変換プログラムのソースコードを掲載させていただきます。

■環境
PHP5を使用
各ファイルのエンコードはUTF-8を想定

■構成
import.htmlとoutput.phpを同一ディレクトリに配置

■import.htmlに記述(エンコード: UTF-8)








タワーリアルタイム株価CSV






■output.phpに記述(エンコード: UTF-8)




$TOWER_DATA = array()

$fh = fopen($_FILES[tower_data][tmp_name], "r")

while($DATA = fgetcsv($fh, 2000, ",")){

// 四本値がない場合には無視する
if(!$DATA[3] || !$DATA[4] || !$DATA[5] || !$DATA[6]){
continue
}

$shijo = t
$meigara = $DATA[0]
$shijo_num = $DATA[1]
$hajimene = sprintf("%.1f", $DATA[3])
$takane = sprintf("%.1f", $DATA[4])
$yasune = sprintf("%.1f", $DATA[5])
$owarine = sprintf("%.1f", $DATA[6])
$ymd = $DATA[7]
$dekidaka = $DATA[10]

// 今日の株価が存在しない場合には無視する
if($ymd != $today){
continue // ※テストの際にはここをコメントアウトする必要があります。
}

// 銘柄番号が1001の場合は1000に変更(日経平均)
if($meigara == 1001){
$meigara = 1000
}

// 銘柄番号が1002の場合は1001に変更(TOPIX)
if($meigara == 1002){
$meigara = 1001
}

// 銘柄番号が1003の場合は1002に変更(ジャスダックインデックス)
if($meigara == 1003){
$meigara = 1002
}

// 市場番号が512の場合はJASDAQに変更
if($shijo_num == 512){
$shijo = q
}

// 複数市場同時上場の場合、出来高が大きい市場を優先
if($TOWER_DATA[$meigara][dekidaka] > 0 && $dekidaka < $TOWER_DATA[$meigara][dekidaka]){
continue
}

$TOWER_DATA[$meigara][shijo] = $shijo
$TOWER_DATA[$meigara][hajimene] = $hajimene
$TOWER_DATA[$meigara][takane] = $takane
$TOWER_DATA[$meigara][yasune] = $yasune
$TOWER_DATA[$meigara][owarine] = $owarine
$TOWER_DATA[$meigara][dekidaka] = $dekidaka
}

fclose($fh)

// 出力
print mb_convert_encoding(,銘柄,市場,,,始値,高値,安値,終値,出来高, "SJIS", "UTF-8")."\n"

while(list($meigara, $VALUE) = each($TOWER_DATA)){

print << ,$meigara,{$VALUE[shijo]},,,{$VALUE[hajimene]},{$VALUE[takane]},{$VALUE[yasune]},{$VALUE[owarine]},{$VALUE[dekidaka]}\n
EOF

}

exit

?>

■イザナミへのインポート方法
イザナミを起動した直後のお知らせ画面で、
左上「ファイル」→株価データの仮想インストール→今回変換したtower.csvを選択し、設定は何もいじらずにOK

■注意点
・9:10など値が付いていない銘柄が存在する時間に仮想インストールを実行した際には、値が付いていない銘柄はイザナミでは前日と同データとなります。そのため、バックテストファイルの仕掛け条件に「前日比率が0と異なる」などの条件を入れて検証する必要があります。
・上記「今日の株価が存在しない場合には無視する」の部分は、土日などにテストする場合には「continue」→「//continue」のようにコメントアウトする必要があります。コメントアウトしないと空のCSVが出力されますのでご注意ください。
・一応バグチェックはしておりますが、ご利用は自己責任でお願いします。

トレシズの「自動売買の開発方法」の記事

前々記事:イザナミ+リアルタイム株価対応戦略を作る(3)
前の記事:イザナミ+リアルタイム株価対応戦略を作る(4)
今の記事:イザナミ+リアルタイム株価対応戦略を作る(5)
次の記事:現在の分足の手法(1)
次々記事:現在の分足の手法(2)

おすすめ記事

株の自動売買ツールを作る(15)

今日からオーバーナイトブレイクをSBIに移動しました笑ただ一個エラーが発生しまして…

株の自動売買ツールを作る(16)

今日はひさびさにToresyzHyperにさわっていますが、…ひさびさすぎて構造が意味不明で…

> このページのURLをPCメールアドレスに送る