イザナミ+リアルタイム株価対応戦略を作る(5)
修正後のタワーCSV変換プログラムのソースコードを掲載させていただきます。
■環境
PHP5を使用
各ファイルのエンコードはUTF-8を想定
■構成
import.htmlとoutput.phpを同一ディレクトリに配置
■import.htmlに記述(エンコード: UTF-8)
■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 <<
EOF
}
exit
?>
■イザナミへのインポート方法
イザナミを起動した直後のお知らせ画面で、
左上「ファイル」→株価データの仮想インストール→今回変換したtower.csvを選択し、設定は何もいじらずにOK
■注意点
・9:10など値が付いていない銘柄が存在する時間に仮想インストールを実行した際には、値が付いていない銘柄はイザナミでは前日と同データとなります。そのため、バックテストファイルの仕掛け条件に「前日比率が0と異なる」などの条件を入れて検証する必要があります。
・上記「今日の株価が存在しない場合には無視する」の部分は、土日などにテストする場合には「continue」→「//continue」のようにコメントアウトする必要があります。コメントアウトしないと空のCSVが出力されますのでご注意ください。
・一応バグチェックはしておりますが、ご利用は自己責任でお願いします。
トレシズの「自動売買の開発方法」の記事
前々記事:イザナミ+リアルタイム株価対応戦略を作る(3)
前の記事:イザナミ+リアルタイム株価対応戦略を作る(4)
今の記事:イザナミ+リアルタイム株価対応戦略を作る(5)
次の記事:現在の分足の手法(1)
次々記事:現在の分足の手法(2)
コメント(0)