import matplotlib.pyplot as plt
import numpy as np
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
#from sklearn.linear_model import Ridge
#from sklearn.pipeline import make_pipeline
# Подготовка данных
x=np.linspace(-5,5,num=100)
Y =np.array([(0.13*x1**3-0.5*x1**2-0.8*x1-0.1) for x1 in x])
plt.plot(Y)
X=x[:, np.newaxis]
N=3# расчет и вычисление линии регрессии
poly=PolynomialFeatures(N,include_bias=False)
Xm=poly.fit_transform(X)
reg = LinearRegression().fit(Xm, Y)
y_plot=reg.predict(Xm)
# график линии регрессии
plt.plot(y_plot)
私のシステムとA_K2さんのシステムが、チャンネルワークというほぼ同じ思想で構築されていることは、「理論から実践へ」を読まれた方はすでにご存じだと思います。ただ、私のは1年前に作られたものであることが違います。以前にも書きましたが、現在この戦略はPythonで実装され、いくつかのマイナーチェンジを加えながらテストされています。
特にアイデアがなかったので、いろいろなインジケータを開発したのですが、そのうちの一つが上の記事にあります。10個くらい作りました。その結果、私はヘッジホッグとヘッジホッグを掛け合わせることにしました。チャンネルでの作業とトレンドフォローを一つの一貫したシステムに統合するのです。まだ全体としては試していませんが、いくつかの要素を実践しています。すべてがうまくいっているように見えますが、まだいくつか疑問があります。実際に何が出てくるかはわからないし、何も出てこないかもしれない。楽しみに待っていよう。
念のため、Pythonをお使いの方へのお知らせです。バージョン3.6の開発は終了し、セキュリティアップデートのみが行われる予定です。サポートは21までとする。
現在のバージョンは3.7です。現在のものは3.7.2ですが、私は最新のAnacondaで3.7.1を使っています。
実は、Anacondaを壊してしまい、新しいものをインストールしようとしたら、いろいろ変わっていることがわかりました。噂通り、バージョン3.7では高速化(私はまだ気づいていません、以前は大丈夫でした)、構文の更新、新機能の追加などが行われています。
ニューラルネットワークなどのMLにはまだ手を出していません。メーターに夢中です。私は、現在の市場のパラメータとその傾向を測定するためのツールを作っています。ニューラルネットワークやフォレストツリーなどのMlは、これらのパラメータを考え出すことも計算することもできないが、すべて使って汎化することができるということだ。
そして、こちらもPythonのツールです。
ここでは1分TFで、わずか3時間です。カーブは市場の活性度を測るものです。原則として、相場が動き出す前から市場の動きが大きくなり、良い指標、動き出しの前兆となる。活動量の減少の始まりは、ほとんどの場合、横ばいへの移行である。画像では、価格チャート上のMA(12)よりもさらに前に出ていることが分かります。
しかし、この指標は将来の動きの方向を決定するものではありません。MOブランチで行われているように、ポイントを交差させて小さな長方形を描き、方向をずらすだけの簡単なものなので、頭の中で描いて、ここにトレンド・インジケータがあります)).このアルゴリズムを見てみると、些細なことであるばかりか、不必要で有害なこと、つまり多くの指標パラメータを破壊していることがわかるだろう。そして、システムは指標の共同処理を行い、より最適な処理を行うことになります。
PS 私的にATRに近い指標であることを示唆されたことがあります。
実は、そうなんです、ボラティリティも測定しているのですが、計算方法が違うんです。私の理解では、これはボラティリティであり、私の考えでは、取引活動をよりよく反映するものです。
このフォーラムのある方の提案で、カルマンフィルターを 実装してみました。褒められ、褒められ・・・。
一般論として、目に見える結果が出るとは思えないと書いたが、それでも確認することにした。
私は、MA48と、このMAに基づいて作られたカルマンフィルタの図を持っています(正しい比較のためには、同じものを扱う必要があります)。
まあ、たしかに1.5倍くらいは速いですが、周期28~30のMAに置き換わる可能性は十分にありますね。完全に重なることはありませんが、MAとカルマン、どちらが良いとは言い難いですね。
結論:多くのトラブルを引き起こすが、ほとんど役に立たない。もちろん、トレードのためです。航海には従事していません)。
Pythonのモデルで多項式回帰が必要だった。もしかしたら、あなたにも必要かもしれません。
ソースコードです。
グラフ
これは1つのグラフではなく、2つのグラフです。これは、元の曲線と回帰がともに次数3の多項式であることから予想されることで、両者は完全に重なっている。その誤差は1e-3のオーダーである。
もう一つの多項式回帰モデル。その誤差はすでに1.0e-15のオーダーに達している。
グラフは見せない、変わらない。上記の投稿をご覧ください。
今度は、MAが回帰線の代わりになるかどうか見てみましょう。写真をご覧ください。
緑:回帰線(3次多項式)、オレンジ:MA(350)。
選ぶのに時間がかかったが、密に合わせることもできなかった。このMA、もしかしたら最高の一枚かもしれません。ちなみに、チューナブル・インディケーターの有用性についても書かれています)。
今後、回帰線を使った実験を行うかもしれません。
このフォーラムのある方の提案で、カルマンフィルターを実装してみました。たくさん褒めてもらって、たくさん褒めてもらって...。
- パバロッティの声は好きじゃないし、訛りもあるし、音程もとれないし...。
- パバロッティのコンサートにいらっしゃいましたか?
- いや、ラビノビッチは電話でそう言った。
- だから、パバロッティは嫌いだったんですよ、訛りがひどいし、音程も取れないし...。
- パバロッティのコンサートに行ったことがありますか?
- いや、ラビノビッチは電話でそう言った。
もし、カルマンフィルターを トレーディングに導入するのであれば、記事を送ることができます。人為的な思考を排除した、古典的なアルゴリズムである。しかし、自分でプログラミングする必要があります。 この記事には、数学しか書かれていません。あなたは自分自身の意見を形成し、ラビノウィッツに導かれることはないでしょう)。