Pythonや人工知能の学習を兼ねてというのは目的ではないことを再認識しました。
目的 | 投資で利益を得たい |
---|---|
問題 | 心理的に弱くて損切りや確定売りができない 確固たる手法がないので自信がない サラリーマンなので平日投資は出来ない |
課題 | 再現性のあり有効な投資手法確立 |
施策 | テクニカル分析手法の習得 プロの投資手法の調査と習得 バックテストによる手法の妥当性確認 |
バックテスト環境を構築しないと、売買手法を見つけれない。
まぁ極論言えば、そもそも株式投資にこだわる必要もないですが、それは次の施策ということで。
オープンソースで何かないの?
イザナミなどを使ってもよいけど、似非プログラマとして、他の方法を探ってみました。
二つ見つけました。
- Omegachart
- Protra
と呼ばれるc#のソフトウェアです。
OmegaChart は、Tacticoとなり年間1万円程度かかりますが、保守としてソースコードが残ってます。
2chでもスレッドが存在しており、下火ですがファンは健在です。
ProtraはシンプルですがEXE付きなのでスグに試せます。
当時、なぜ知らなかったのか・・・
ExcelとUWSCを使った方法は有名だけど、全く検索で見つからなかったような・・・。
バックテストしなければ始まらないので、これらのツールをしばらく使ってみます。
protra概要
売買ロジックは、C#で記述・・・と書かれていましたが、今は独自言語?のようです。
次のサンプルソースが標準で入っています。
- Breakout Plus
- Channel Breakout
- MA Cross Doten
- MA Cross with Cap
- MA Cross
- RSI SYSTEM
2004年頃は「LDS2」というサンプルも存在していたようなので、サンプル学習のためにダウンロードしました。
「日経平均構成銘柄」で「日足」でサンプルを動かしてみました。
手法も内容も結果もよくわからないので、後学のために全てそのまま記載しておきます。
Breakout Plus
直近55日間の高値を上抜いたらentry、下抜いたらexit
【結果】エラーが発生
1 2 |
runtime error in Breakout Plus.pt:104: 同日の売買があります。 エラーが発生したので実行を中断します。 |
勘弁してください・・・・。
初めての利用でエラー出たら、もはやお手上げですよ・・・。
でも、結果は得られたので載せておきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
ファイル: Breakout Plus.pt 株価データ: 日足 銘柄リスト: 日経平均構成銘柄 2000/01/04~2017/04/28における成績です。 ---------------------------------------- 全トレード数 2769 勝ちトレード数(勝率) 611(22.07%) 負けトレード数(負率) 2158(77.93%) 全トレード平均利率 -2.80% 勝ちトレード平均利率 7.57% 負けトレード平均損率 -5.74% 勝ちトレード最大利率 461.70% 負けトレード最大損率 -20.60% 全トレード平均期間 50.36 勝ちトレード平均期間 101.23 負けトレード平均期間 35.96 ---------------------------------------- 必要資金 ¥190,044,600 最大ポジション(簿価) ¥176,700,200 最大ポジション(時価) ¥220,755,700 純利益 ¥51,648,700 勝ちトレード総利益 ¥222,922,200 負けトレード総損失 -¥171,273,500 全トレード平均利益 ¥18,652 勝ちトレード平均利益 ¥364,848 負けトレード平均損失 -¥79,367 勝ちトレード最大利益 ¥17,674,500 負けトレード最大損失 -¥1,104,000 プロフィットファクター 1.30 最大ドローダウン(簿価) -¥24,120,150 最大ドローダウン(時価) -¥34,768,300 ---------------------------------------- 現在進行中のトレード数 15 |
平均利率は-2.80%で、2769トレードで約5千万円の利益が出ています。
しかし、資金は約2億円必要なのでなので17年の運用益としては小さすぎます。
総利益を総損失で割ったプロフィットファクターも1.30しかありません。
得られる利益に対して損失が大きいです。
・・・みたいな感じでPtSimの使い方のサイトに書いてあるけど、意味不明・・・。
※ プロフィットファクターとは『システムの獲得した総利益/そのシステムの失った総損失』であり、1以上であれば黒字のシステム。
利益曲線は次のとおりです。
Channel Breakout
過去20日の高値の逆指値でentry、安値の逆指値でexit
【結果】エラーが発生
1 2 |
runtime error in Channel Breakout.pt:24: 同日の売買があります。 エラーが発生したので実行を中断します。 |
MA Cross Doten
MA(10)がMA(40)の交差でドテン
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
ファイル: MA Cross Doten.pt 株価データ: 日足 銘柄リスト: 日経平均構成銘柄 2000/01/04~2017/04/28における成績です。 ---------------------------------------- 全トレード数 25177 勝ちトレード数(勝率) 8614(34.21%) 負けトレード数(負率) 16563(65.79%) 全トレード平均利率 0.32% 勝ちトレード平均利率 13.21% 負けトレード平均損率 -6.39% 勝ちトレード最大利率 1,266.79% 負けトレード最大損率 -909.09% 全トレード平均期間 0.80 勝ちトレード平均期間 2.00 負けトレード平均期間 0.18 ---------------------------------------- 必要資金 ¥186,182,400 最大ポジション(簿価) ¥190,745,200 最大ポジション(時価) ¥279,878,700 純利益 ¥78,067,970 勝ちトレード総利益 ¥982,470,500 負けトレード総損失 -¥904,402,500 全トレード平均利益 ¥3,101 勝ちトレード平均利益 ¥114,055 負けトレード平均損失 -¥54,604 勝ちトレード最大利益 ¥10,791,000 負けトレード最大損失 -¥7,200,000 プロフィットファクター 1.09 最大ドローダウン(簿価) -¥89,505,420 最大ドローダウン(時価) -¥111,646,000 ---------------------------------------- 現在進行中のトレード数 169 |
利益曲線は次のとおりです。
MA Cross with Cap
MA Cross+投資総額が1000万円を超える場合はentryしない
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
ファイル: MA Cross with Cap.pt 株価データ: 日足 銘柄リスト: 日経平均構成銘柄 2000/01/04~2017/04/28における成績です。 ---------------------------------------- 全トレード数 2278 勝ちトレード数(勝率) 994(43.63%) 負けトレード数(負率) 1284(56.37%) 全トレード平均利率 0.32% 勝ちトレード平均利率 9.38% 負けトレード平均損率 -6.70% 勝ちトレード最大利率 129.52% 負けトレード最大損率 -19.54% 全トレード平均期間 37.78 勝ちトレード平均期間 50.77 負けトレード平均期間 27.72 ---------------------------------------- 必要資金 ¥9,997,900 最大ポジション(簿価) ¥20,649,300 最大ポジション(時価) ¥21,961,700 純利益 ¥7,393,300 勝ちトレード総利益 ¥78,532,500 負けトレード総損失 -¥71,139,200 全トレード平均利益 ¥3,246 勝ちトレード平均利益 ¥79,007 負けトレード平均損失 -¥55,404 勝ちトレード最大利益 ¥1,211,100 負けトレード最大損失 -¥180,000 プロフィットファクター 1.10 最大ドローダウン(簿価) -¥10,923,300 最大ドローダウン(時価) -¥11,744,700 ---------------------------------------- 現在進行中のトレード数 20 |
利益曲線は次のとおりです。
MA Cross
MA(10)がMA(40)を上抜いたらentry、下抜いたらexit。-10%の逆指値でexit。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
ファイル: MA Cross.pt 株価データ: 日足 銘柄リスト: 日経平均構成銘柄 2000/01/04~2017/04/28における成績です。 ---------------------------------------- 全トレード数 12633 勝ちトレード数(勝率) 4458(35.29%) 負けトレード数(負率) 8175(64.71%) 全トレード平均利率 1.74% 勝ちトレード平均利率 15.62% 負けトレード平均損率 -5.83% 勝ちトレード最大利率 1,266.79% 負けトレード最大損率 -67.02% 全トレード平均期間 47.74 勝ちトレード平均期間 86.29 負けトレード平均期間 26.72 ---------------------------------------- 必要資金 ¥176,764,300 最大ポジション(簿価) ¥182,663,400 最大ポジション(時価) ¥267,820,900 純利益 ¥200,395,700 勝ちトレード総利益 ¥606,934,600 負けトレード総損失 -¥406,538,900 全トレード平均利益 ¥15,863 勝ちトレード平均利益 ¥136,145 負けトレード平均損失 -¥49,730 勝ちトレード最大利益 ¥10,791,000 負けトレード最大損失 -¥559,200 プロフィットファクター 1.49 最大ドローダウン(簿価) -¥53,580,890 最大ドローダウン(時価) -¥60,996,020 |
利益曲線は次のとおりです。
RSI SYSTEM
14日間のRSIが18.5を下回る、終値が50円以上、出来高が10万株以上で約100万円分を終値で買う
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
ファイル: RSI SYSTEM.pt 株価データ: 日足 銘柄リスト: 日経平均構成銘柄 2000/01/04~2017/04/28における成績です。 ---------------------------------------- 全トレード数 536 勝ちトレード数(勝率) 407(75.93%) 負けトレード数(負率) 129(24.07%) 全トレード平均利率 6.38% 勝ちトレード平均利率 13.39% 負けトレード平均損率 -15.74% 勝ちトレード最大利率 871.98% 負けトレード最大損率 -43.18% 全トレード平均期間 24.00 勝ちトレード平均期間 18.72 負けトレード平均期間 40.64 ---------------------------------------- 必要資金 ¥80,178,990 最大ポジション(簿価) ¥86,618,190 最大ポジション(時価) ¥98,650,400 純利益 ¥30,774,000 勝ちトレード総利益 ¥48,502,500 負けトレード総損失 -¥17,728,500 全トレード平均利益 ¥57,414 勝ちトレード平均利益 ¥119,171 負けトレード平均損失 -¥137,430 勝ちトレード最大利益 ¥8,092,000 負けトレード最大損失 -¥420,000 プロフィットファクター 2.74 最大ドローダウン(簿価) -¥5,132,500 最大ドローダウン(時価) -¥12,014,200 ---------------------------------------- 現在進行中のトレード数 0 |
利益曲線は次のとおりです。
LDS2
20日間移動平均との乖離率が-25%を下回った、終値が50円以上、出来高が10万株以上で約100万円分を終値で買う
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
ファイル: LDS2.pt 株価データ: 日足 銘柄リスト: 日経平均構成銘柄 2000/01/04~2017/04/28における成績です。 ---------------------------------------- 全トレード数 353 勝ちトレード数(勝率) 250(70.82%) 負けトレード数(負率) 103(29.18%) 全トレード平均利率 9.73% 勝ちトレード平均利率 21.61% 負けトレード平均損率 -19.11% 勝ちトレード最大利率 134.15% 負けトレード最大損率 -57.53% 全トレード平均期間 39.95 勝ちトレード平均期間 31.41 負けトレード平均期間 60.67 ---------------------------------------- 必要資金 ¥130,671,100 最大ポジション(簿価) ¥140,425,200 最大ポジション(時価) ¥146,962,100 純利益 ¥29,229,750 勝ちトレード総利益 ¥45,652,800 負けトレード総損失 -¥16,423,050 全トレード平均利益 ¥82,804 勝ちトレード平均利益 ¥182,611 負けトレード平均損失 -¥159,447 勝ちトレード最大利益 ¥1,320,000 負けトレード最大損失 -¥567,000 プロフィットファクター 2.78 最大ドローダウン(簿価) -¥5,537,700 最大ドローダウン(時価) -¥39,252,300 ---------------------------------------- 現在進行中のトレード数 0 |
利益曲線は次のとおりです。
protraまとめ
・・・よく分からない。
そもそも、どの値がどうなればゴールなのか・・・
トータル資金を上げるためには、何のスコアを上げるべきなのか?
自分の保有資金内で売買が必要だし、その辺りはプログラムを改編すればよいのか・・
先は長そうね。