株取引でテクニカル分析を駆使されている方も多いと思います。
しかしテクニカル分析をする上で
- パラメータの値をいくつにするべきか、悩んでいる。
- パラメータの合せ込みに大量の時間を使っている。
こんな悩みをもっていないでしょうか?
本記事では、自作したパラメータ自動算出サイトを紹介いたします。本サイトは毎日、結果が自動更新されます。
無料で閲覧できるので、興味が有りましたら、覗いてみて下さい。
本記事は、株取引の専門用語をある程度知っている方を対象にしております。ご存知無い方でも、ネットで調べて頂くと十分に理解できる内容になっております。
作成した自動算出サイトの外観、リンク先
HPの外観とリンク先になります。
算出結果の見方
一例ですが、BB(ボリンジャーバンド)の箇所を見てみます。
オレンジ色の矢印部分が算出結果になっています。この例の場合、最適パラメータ値は、Length:13日、標準偏差:2.0で、その時の収益率:30.9%という結果になっています。
サイトを立上げた背景
私の周囲で、テクニカル分析のパラメータ調整に、大幅に時間を使っているとの声がありました。
パラメータ調整に関しては様々な意見があります。
- 多くの人が採用している、パラメータ値を採用するべき
- 調整作業に時間をかけても、その労力に見合わない
- もはやアートの領域。その人の天性の領域(一般人は無理?)
本サイトでは、これらの意見を否定するつもりは全然ありません。
ただ、株取引の判断材料の1つとして
統計的に根拠のあるパラメータ値で分析する
事も価値があると思います。
そのようなサイトを探してみましたが、無料で見つかりませんでした。(探し切れていない可能性はありますが・・)
ならばと思い、作ってみました。
私はPCで自作アルゴを走らせ、株の自動取引をしているので、簡単に作れるんじゃないかと思ったからです。
実際はそんな事ありませんでした。結構、時間がかかりました!!
せっかく作ったので、公開しました。
どのように計算しているか
詳細は長くなるので、こちらにまとめました。
パラメータ調整にも様々な方式があると思います。
本サイトでは、
直近のデータで、最も収益が出るパラメータ値を採用する方式
にしました。
(株取引で最も重要である「許容リスク」という観点で考えると、シャープレシオが最も高くなる方がいいかもしれません。現在も思案中です。)
自動算出サイトの主な特徴です。
- 日足を使用
- 1回/日の頻度で計算(15:30頃に更新します。)
- 計算に用いている直近のデータ期間は、50日、100日、200日の3パターン(それぞれの結果が閲覧できます。)
計算している株銘柄
- SPY(S&P500 連動ETF)
- DIA(ダウ 連動ETF)
- QQQ(ナスダック100 連動ETF)
王道のものを採用しました。王道といえば、アメリカ株インデックスに連動するETFだと思うので、最も有名な3つを採用しました。
(全世界株 VTを入れるかどうか悩みましたが、外しました。S&P500と相関係数が高いため、選択肢として需要が少ないと思ったからです。長期投資の場合は、別の議論になると思いますが・・)
採用したテクニカル分析
- RSI
- BB(ボリンジャーバンド)
- MACD
- EMA(指数平滑移動平均)
大多数の方がよく使用するテクニカル分析という事で、この4つを採用しました。
その他の分析手法も、ご要望が多ければ検討したいと思います。
よくある質問
質問ありそうな事も含めて、こちらにまとめました。
以下、雑記
ここから先は、ソフトウェアの情報やソフト作成中に思った事等、雑記になります。思ったままに書いているので、全然まとまってません。
また、読者の前提知識を考慮していない部分もあります。
それを承知の上で、お時間が許せる方はお付き合い頂けると幸いです。
作成にあたり、心がけた点
UI(サイトの見た目)はモーション等を使用せず、シンプルさを心がけました。算出結果の把握のみが重要だと思いました。
使用したライブラリ情報等(抜粋)
- 言語:Python、JavaScript
- Webフレームワーク:Flask
- ライブラリ:Numpy, Pandas 等々
- DB:PostgreSQL
- ORM:SQLAlchemy
- チャート描画:Plotly.js
採用したアーキテクチャー
作成にあたり、苦労した点
BuildPackは、Heroku Python TA-Lib packageを試してみました。
長時間、色々試しましたが、無理でした。
GitHubの開発ページを見てみると、2018年位から更新されていないため、Pythonのバージョンが対応していない可能性が高いです。
もしかして、何か方法があるかもです・・