kabu.comでDLできるcsvを処理してexitツールを作りたい(未完成):自分用記事
すぐに忘れてしまうので・・・自分用記事です・・・
kabu.comでDLできる2つのCSV
Account.csvは
保有の一覧
TradeMargin.csvは
売買記録
これらをDLし
シグナル出しを行ったあとTradeする戦略のシグナル(csv)を所定のフォルダに移動させたのち・・・
$ ./bysl 2020/07/22 2020/07/27
を実行すると・・・
※2020/07/22は今日の日付(株価データの日付) 2020/07/27は明日の日付(entryする日付)
- buy.csv 今日買ったリスト
- sel.csv 今日売ったリスト
- ac_buyQ 保有リスト(ダブりなし)
- ac_buyQ2 保有リスト(ダブりあり)
- 20200722.csv (今日の日付) 明日のためのデータ
を作成
日付を自分でタイプしないといけないのが情けないが、休日処理は無理なので・・・
20200722.csv (今日の日付)は日付間違いなければ明日以降のために所定のフォルダに移動させておく
※ワンクッションおくのは日付を間違えると上書きする可能性があるので
あとはできたcsvをエクセルに張り付けて料理する
要は保有銘柄がどのルールで購入したかcsvに纏めておくという処理(初めてjoinコマンドを使った)
ダブル仕掛けになるとルール完全に特定できないがまあそれは仕方ない
少なくとも今は「どのルールで購入したか?」を人力で調べているので、その部分は楽になるはず
include機能とC言語で直接記述できる機能を追加
include機能とC言語で直接記述できる機能を追加してます
digraph graphname { graph [rankdir = TB]; subgraph cluster0 { label="Compile"; b0 [label="car_m4(sed (include))" shape="rectangle"] b [label="car_m4(sed (here doc))" shape="rectangle"] c0 [label="m4 macro set" shape="box3d"] cc [label="tmpinc.m4"] c [label="tmp.m4"] d [label="car_m4(m4)" shape="rectangle"] e [label="mtASM src"] b -> c -> d; c0 -> d -> e; b0 -> cc ->b; {rank = same;c0;d;} } subgraph cluster1 { label="Assemble"; e0 [label="awk src1" shape="box3d"] f [label="car_mt(awk)" shape="rectangle"] f0 [label="C src"] ff [label="tmp C src"] f1 [label="template C src" shape="box3d"] g [label="car_mt(gcc)" shape="rectangle"] f1 -> g; ff ->g; e0 -> f; f -> f0 -> g; {rank = same; e0;f;} } a [label="Esgrsdnl src" shape="note"]; a0 [label="Esgrsdnl include src" shape="note"]; a1 [label="mtASM include src" shape="note"]; h [label="exe file" shape="Msquare"] i [label="bet file"] b -> ff; f ->i; a -> b0; a0 -> b0; a1 -> d; e -> f; g -> h; {rank = same; i;h;} }
こんな流れ
SU/CAR-ST-APplication-cells 操作例:戦略の実行=シグナル出し(自分用記事)
自作したシステムは公開してないので自分用記事になりますが・・・・
メインパネルは2020/6/14現在
こうなっています
登録した戦略の実行=シグナル出し ですが・・・
〇のボタンをクリックするだけです
となりの半分薄くなったボタンは最初の株データセットせずにいきなりシグナル出しルーチンを実行するので、もしシグナル出しをやり直す場合、若干のスピードUPになります
処理が終わると
所定のフォルダにシグナルファイルができるので
所定のエクセルシートの所定のタグに貼り付け
日の設定をし
katalon用タグをコピー
いろいろ調整して・・・
katalon(selenium)用の設定ファイルを開き
貼り付けて保存
処理コマンドをメニューから実行
kabu.com のHPにログインし
katalonを開く
KbcmR0を開く
あとはPlay Suite をクリック
以上は寄成戦略の場合で指値戦略の場合は
kbcmRsn の方を使います
手作業がかなり入っていて自動売買とはいいがたいですが・・・
いろいろ調整できるのでこのままでいいかな と・・・
SU/CAR-ST-APplication-cells 操作例:戦略の登録(自分用記事)
自作したシステムは公開してないので自分用記事になりますが・・・・
メインパネルは2020/6/14現在
こうなっています
順序が逆ですが
0~59の60個の戦略(ルール)を登録でき、番号で呼び出せますが、戦略の登録は・・・
メニューから[systemQ2]->[Edit buyjcl]を選びます
エディタが設定ファイルを開くので登録していきます
#はコメントですので古い設定をコメントアウトしてます
コメントを消してみるとこうなってますが、
D 0 05C_OR_0 asis I 8 05C_OR_0NF asis I 5 CSN_1C asis I 7 CSN_1A asis I 9 CSN_1S asis I 14 AsCMav_0 asis I 15 AsCMav_0C asis Y 1 m5_2m_1 asis I 13 m5_2m_2 asis Y 2 m5_2m_1SN asis I 10 05C9y0_NotT1 asis I 12 05C9y0CNotT1 asis W 3 05C_9y_0T1 asis I 18 05C_9y_0CKT1 asis I 6 05C_9y_0NFT1 asis I 11 mp16_3_0T2 asis I 16 AsCMav_0T1 asis I 17 AsCMav_0CT1 asis G 19 U07A_0 asis G 20 U05A_0 10 40 0 15 G 4 R_NOW_IMP asis
- コマンド
- 番号
- 戦略(ルール)名
- asis
の順にtabで区切って書きます
asis と書くと、戦略(ルール)に設定したままの設定になりますが
- コマンド
- 番号
- 戦略(ルール)名
- 保持日数
- 1銘柄投入金額(万円)
- entry
- exit
と自由に設定できます
番号20だけその設定になってます
ただ、この設定はバックテストには反映されず、シグナル出しの時だけなので通常はasisと書いときます
ついでにいうと今のところ[a-zA-Z]+ つまりアルファベットで始まる単語なら何でもいいです(将来asis以外に何かする場合は対処予定)
コマンドですが
- Gコマンド Go 普通に実行
- Vコマンド Variable 変数を弄って実行
- Dコマンド Dump 実行時株データをダンプ
- Iコマンド Import ダンプデータを読み込んで実行
- Wコマンド D+V でW
- Yコマンド I+Vで Y
の6個を使用できます(Kコマンドは登録できない)
簡単には全部GコマンドかVコマンドで登録すればいいのですが、毎日のシグナル出しの際、先頭から実行するので
- 最初はDコマンドかWコマンドで株データをダンプする
- 以降はIコマンドかYコマンドでダンプ株データをインポートする
とやると、処理速度が大幅にUPします
同じ株データを使う戦略を纏めて順番に登録するのが速度UPのコツです
バックテストだと関係ありません
エディタで保存したらメニューから[systemQ2]->[Mkmtrules2]を実行すれば登録完了です
SU/CAR-ST-APplication-cells 操作例:登録戦略の確認(自分用記事)
自作したシステムは公開してないので自分用記事になりますが・・・・
メインパネルは2020/6/14現在
こうなっています
0~59の60個の戦略(ルール)を登録でき、番号で呼び出せますが、まずは登録戦略の確認から・・・
[S] ボタンをクリックすると
=================== SU/CAR-ST-AP-Cells ===================== D 0 05C_OR_0 7 60 0 0 D Y 1 m5_2m_1 4 120 0 11 Y Y 2 m5_2m_1SN 6 120 4 8 Y W 3 05C_9y_0T1 4 24 0 11 W G 4 R_NOW_IMP 10 40 7 15 G I 5 CSN_1C 5 36 0 15 I I 6 05C_9y_0NFT1 8 24 3 8 I I 7 CSN_1A 10 36 5 10 I I 8 05C_OR_0NF 10 60 6 8 I I 9 CSN_1S 10 36 7 12 I I 10 05C9y0_NotT1 8 24 0 11 I I 11 mp16_3_0T2 5 40 0 5 I I 12 05C9y0CNotT1 8 24 0 11 I I 13 m5_2m_2 3 60 0 11 I I 14 AsCMav_0 10 20 0 15 I I 15 AsCMav_0C 10 20 0 15 I I 16 AsCMav_0T1 10 20 0 15 I I 17 AsCMav_0CT1 10 20 0 15 I I 18 05C_9y_0CKT1 8 24 0 11 I G 19 U07A_0 2 60 0 10 G G 20 U05A_0 10 40 0 15
と登録された戦略(ルール)の一覧が表示されます
- コマンド
- 番号
- 戦略(ルール)名
- 保持日数
- 1銘柄投入金額(万円)
- entry
- exit
- おまけ(意味なし)
となってます
どの戦略(ルール)がどの番号に登録されているか?
また 保持日数がどうなっているのか?
を確認できます
[S]ボタンのSはsort の意味で、表示は番号順にソートされます
ここはあくまで登録内容の表示で登録自体は別の操作で行いますが
登録は番号順ではない順番で登録する必要があります
コマンドと関係ありますが
- Gコマンド Go 普通に実行
- Vコマンド Variable 変数を弄って実行
- Dコマンド Dump 実行時株データをダンプ
- Iコマンド Import ダンプデータを読み込んで実行
- Wコマンド D+V でW
- Yコマンド I+Vで Y
の6個を使用できます(Kコマンドは登録できない)
実運用を考えてこうなってます
にほんブログ村より人気ブログランキングの方が信用できる
**一時的に人気ブログランキングに**
本家ブログをhttp⇒https移行作業をするので、リンク切れその他の副作用確認が済むまで、代わりにこちらのブログを登録します
一時的なもので、いずれ元に戻します
http://supercar.hatenablog.com/
を
https://supercar.hatenablog.com/
に変更するだけですが・・・
多分リンク切れ等副作用があるので、一応確認が終わるまでの措置です