興味を持った事を雑多に書いていきます。ボット開発スポンサーリンクシェアする前回まで、移動平均線のクロスを使う売買ロジックに、「レンジ相場で売買しない」と「長期トレンドを売買の参考に」というロジックを追加してきました。内心、いいボットが出来たつもりでいたのですが、まだまだ打たれ弱い事が発覚。そこで基本に立ち返り、移動平均線の位相ズレを減らすことで売買の収益を上げる方法を考えてみました。※他のボット作成に関する投稿はコチラ※取引所のAPIに関する投稿(サンプルあり)はコチラ後付けのロジックは一旦外してみよういままでは、ある1日の価格チャートだけをテストサンプルとしてボットを作り込んできました。長い期間のチャートも試してみようと思い、7日間の価格チャートをサンプリングしてボットに食わせてみたわけです。↓これがそのチャートです。結果:-60175円そこそこいいボットができたと思ってたのに、ショックです。売買の様子を調べてみると、前回追加した「安く買って高く売る」ロジックが逆張りとして働いているようです。「安く買って高く売る」のロジックを外してみると...結果:74965円おおっ!マイナスから一気にプラスに転じました。若干収益が落ちました。レンジ相場は意味があるという事なのか、それともこの価格チャートと相性がいいというだけなのか...しばらくは、この2つの「後付けロジック」は一旦外すことにしました。移動平均線の位相ズレを解消したい!移動平均線はノイズのような細かな凹凸を平坦化しますが、平均値を使うので、下図のように期間の長い移動平均線ほど、時間軸のズレ、つまり位相ズレが生じるのです。位相がズレると売買のタイミングがズレて、ズレの分だけ高く買って、安く売ることになってしまいます。位相ズレを少なく凹凸を平坦化する方法があれば、売買の収益が上がるはずなんです。移動平均線ならぬ「移動回帰線」で位相ズレを減らす!僕が考えた、移動平均線よりも位相ズレを少なく平坦化する方法は、移動平均線の平均を計算する部分を、最小二乗法に置き換えたモノで、「移動回帰線」と名づけました。最小二乗法は、誤差を含む測定点に対し、傾向を示すn次式を求める方法です。最小二乗法で求めた直線や曲線を「回帰線」と言います。下の左図は、移動平均線で、n個の点の平均を順次プロットしたものです。これを回帰直線で行うと右図はのようになるのです。傾きを持った直線を使うので、より元のチャートに沿った曲線がプロットできるはずです。下図は、移動平均線と移動回帰線の比較です。区間は両方同じ、赤:100秒、緑:5分、黄:50分です。右の移動回帰線の方が位相ズレが少ないのが分かると思います。これを移動平均線から移動回帰線に置き換えてみると...結果:190275円おおっ!収益が上がってます。移動平均線から移動回帰線に変えただけです。勉強が必要だと感じました。クロスで売買してみる前回の投稿で移動平均線を使ってみました。トレンドに乗ってみる前回の投稿で自動売買のロジックを組んでみましたが、仮想取引で70万の損失というヘッポコな結果に終わりました。長期トレンドを売買の参考に前回の投稿では、ロジックに「レンジ相場で売買をしない」という戦略を取り入れました。サンプルデータの収集プログラムを作るなら、何らかのサンプルデータが必要です。対象を明確にした方が、やりやすいのです。1日分のビットコイン価格チャート(10秒ごと)を収集しました。レンジ相場では売買しない前回の投稿でゴールデンクロスとデッドクロスを使ってロジックを組んでみたものの、収益はマイナスでした。(12)プロフィール「こけんじ」と申します。1970年生まれのプログラマーです。お時間あればお立ち寄りください。