過去記事に
過去の日足データのみで、1銘柄の明日が陰線か陽線かを当てるのは統計学的には不可能です
怪しいブログに関する記事にコメントがあったのでリンク張っておきます - SU/CAR-ST-APplication-cells
って書いたんですが・・・・
1銘柄だけの明日の陰線or陽線当てを究極のカーブフィットによりバックテストでよい成績を出させることが数学的に解けないか?
ってのを考えてみる
まず、明日の陰線or陽線当てはコインの裏表当てみたいなもんで、数学的には
- 陰線=裏=0
- 陽線=表=1
で表すとすればいいだろう
何かしらの過去データxを与えて、何かしらの関数 f(x) を計算させ、
- f(x)=0 なら明日は陰線
- f(x)= 1なら明日は陽線
として、バックテストでよい成績を上げられたらそのf(x)は明日の陰線or陽線を当てる素晴らしい関数になる
話を簡単にするために過去データも
- その日が陰線なら0
- その日が陽線なら1
で表すとして、それだけを使う(サイコロロジック)としてみる
過去データ1日だけ使ってもダメなのは直感でわかる
今日が陰線だったら、明日は? ってまずわからない
統計とっても半々だろう
なので、過去データを2日分にしたら? 5日分にしたら? と増やしていく
例えば5日分として、陰陰陽陽陰ときたら00110とする 2進法として10進法になおすと
2+4=6
となる
陰陰陽陽陰の翌日が必ず陽になるようなら
f(6)=1
となる関数f(x)を見つけられれば・・・
しかし・・・
過去データ5日分は 00000~11111 10進法で0~31のどれかの数
過去10年でバックテストすると、約1500日なので、1495個の0~31のどれかの数xに対してf(x)=0or1 を出す関数・・・
これも多分駄目だろう・・・・
1495個の0~31のどれかの数xは結構ダブるので、例えばx=6となる日は単純計算で
1495/32≒46回くらいあって・・・
その翌日は陽線だったり、陰線だったり・・・・
とにかくダブるのがまずいので、過去データの日数を大きくしていく・・・
例えば、過去の25日分だと 2^25-1=33554431
これだけあれば、1475個の0~33554431のどれかの数xはめったにダブらない
まあ、仮に100個ほどダブったとしてそのうちの半分50個が翌日の結果が陰陽分かれたとしても・・・
その50個を除いたxに対して
f(x)=0or1 を出す関数は代数的に計算で求められる(連立方程式を解けばよい)
代数的じゃなくてもそういうプログラムは簡単に作れる
このxを与えるとyを返す連想配列Fは1銘柄のバックテストで最強で、ダブったx以外では完全に明日の陰陽当てに成功する
ことになる
もちろん、これは究極のカーブフィットなので、未来に対して全然使えない・・・
1銘柄でサイコロ当てバックテストで、以上のようなことを考えてしまう日曜の朝・・・
シストレ結構難しいですよw
追記)
失礼なことを書くことになるかもしれませんが、ここに書いてあることが全く理解できない人はシストレなんてしない方がよいかと思います・・・・