【論文実装編】線形回帰モデルのFx自動売買ー学習パート

1. はじめに

このnoteは、こちらの記事(【検証】線形回帰モデルの自動売買でもFxで儲けられるのか?【論文実装編】)からの続きになっています。

実際に実装する論文はこちら

なので、こちらではコードの中身のもう少し踏み込んだ(パラメータの更新についての)話をします。どうでも言いというかたは、購入手続きにお進みください。

また、今回公開するコードは事前に学習データを用意しておく必要があります
そのため、学習データの取得は以下の記事を参照ください。
【V20版】PythonでOANDA APIを使って、指定した期間の過去レートを取得する方法

それすらもめんどくさいという方は学習データのcsvファイルも有料部分に付け足しておきますので、ぜひお買い求めください。
データはポンド円の10分足で2005年1月から2019年8月8日までの価格、全55万データになっています。

また、学習の際の入力データとして、テクニカル指標と直近の価格変動の時系列データを用います。テクニカル指標として使用したのはRSI, MACD, ボリンジャーバンド, 指数平滑移動平均です。

【自己紹介】

 僕は今現在国立大学の大学院に在学中で、機械学習などの技術を金融工学分野への応用の研究をしています。
そこでの研究内容の一つとしてアルゴリズムトレードの研究をしています。その先駆けとして、今現在開発しているBOTがあり、デモ口座でテストプレイしています。
 しかし、自分はデモ口座で実装しており、本番口座の開設が今しがたすぐにできず、このBOTの有用性があるのか否かを今すぐに確認したいため、OANDAの本番口座(デモ口座でも構いません)でテストプレイをしていただける方を探しています。

【対象者】

・OANDAの本番口座を持っている。
・OANDAの提供するAPIの発行ができる。
・Python環境が整っており、oandapyV20をインストール済み。
(あると非常に望ましい)
・Pythonファイルを長期間実行できる(レンタルなどの外部)サーバーを持っている。

これらの環境が揃っている人であると実際にこれから下に記すBOTを使用することができます。
そのため、上記の環境が揃っていない人は、以下の記事を参考にして環境を整えていただけると助かります。

【Python環境の構築方法】

・自前PCに構築する場合
=>https://mathokapro.com/2018/10/14/python-bigginer/
・レンタルサーバなどの外部サーバーにPythonを構築する場合(Xサーバーのみ)
=>https://mathokapro.com/2018/10/24/post-258/

【OANDA口座の開設方法とOANDA APIのPythonで使う方法】

https://mathokapro.com/2018/10/25/post-265/


2. 学習パートのパラメータ更新について

 今回のコードは、パラメータの学習を行うのですが、これは最適化数理での学習アルゴリズムの一つである勾配降下法を用いて学習を行います。勾配降下法については、他サイトの記事にてわかりやすく解説しているものが多いので、そちらを参照して勉強してください。

 このアルゴリズムで重要なのは、目的関数(今回で言うところのUt)を最適化させるために、目的関数に対する勾配(偏微分係数を並べたものと考えてください)を求める必要があります。
詳しくは下記をご覧ください。

上記の画像を見て、更新式が一般的な勾配降下法のアルゴリズムとは違い、勾配数値分だけ引くのではなくて加算する形になっています。

これは、目的とする関数Utが今回の場合は、最大化させる必要があるので勾配の方向に沿ってパラメータを更新する必要があります。(理論的な根拠は少し甘いので、気になる方は+の部分を-にしても構いません。おそらく上手くはいかないかと…)

よって、これらを元に学習パートのコードを作成していきました。

この先が有料部分に入ります。有料部分の構成は

・学習データ(csvファイル:ポンド円10分足)
・学習パートのコードの中身

となっています。

また有料部分は、学習パートは2,000円、(他note)取引モデルパートは1,000円
(他note)二つのパートを一つにまとめたモノを、2,500円で提供します。あらかじめご了承ください。

3. 注意点

※絶対に読んでください!!
本noteは学習パートのみです!実際に取引も行いたいモデルも欲しい方は、取引モデルのパートもまとめたnoteも公開しているので、そちらを参照してください!
統合しているnoteはこちら【論文実装編】線形回帰モデルのFx自動売買ー学習パート+取引モデルのパート統合

ご購入に際し、このコードによって大きな損害等を生じた場合でも、私(本記事の作成者)は一切責任を負わないということに同意したものとします。

また、二次利用を防ぐことはできないことを踏まえて、勉強教材として購入する形になります。これらの理由により有料としています。ご理解のほどよろしくお願いします。

また、今回紹介する論文の内容を全部実装できる方はご自身で実装お願いします。
実装できるけど、取引部分は分からない!という方は、取引モデルのパートはこちらになります。

こちら:【論文実装編】線形回帰モデルのFx自動売買ー取引モデルのパート

このnoteは、実装の仕方がわからないという方のためのものです。ぜひ勉強のためにもご活用ください。
また、今後また論文の実装を行うこともあるので、良いものができれば随時公開していきます。
ですので、支援するという目的での購入をしていただけると大変嬉しく思います

個人的には、これまで公開している僕が作ったモデルよりも、よく知られた学会誌に載っている今回の論文は非常に期待できるものがあり、一般的なFxの自動売買システムの10分の1の価格になっています。

また、コードをそのまま公開するため、購入者自身による改良でさらに良いモデルになる可能性もあるので、非常に勉強にもなるかと思います。

一応今回のモデルで改良の余地がある部分は、入力データを今回は取得した価格データを少し成形して直接突っ込んでいますが、深層学習による特徴抽出の処理を行ったものを入力データとして使うというアイデアもあります。

上記のことを踏まえて、下記の記事を購入しても良い方はぜひよろしくお願いします!

ちょっとまった!!

うーん、2,000円はちょっと高いなぁ・・・。と思った方、朗報です。

確かに、こんなゴミみたいなクソコードを購入したところで、2,000円を埋め合わせれるだけの期待値はあるのか?と思うことかと思います。
ですので、今回特別価格、2,000円を

半額の1,000円!!!

で販売いたします!ぜひサポートのほどよろしくお願いいたします!!!

この続きをみるには

この続き:18,944文字

【論文実装編】線形回帰モデルのFx自動売買ー学習パート

マスオカ

1,000円

この記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。

2

マスオカ

Fxの自動売買をPythonで作っています。 OANDAしか使えませんが、他のFx会社がAPIを公開してくれたならもっと有益になるのになぁと無い物ねだりする日々です。
コメントを投稿するには、 ログイン または 会員登録 をする必要があります。