前記事で、オライリーの「Pythonからはじめるアルゴリズムトレード」を紹介した。機械学習のプログラムでは、特徴量の与え方によって仮想通貨などの価額の予測精度が左右される。
前記事:
前記事を書いて、思いついた。人気のテクニカル指標を特徴量にしたら、どのテクニカル指標が有効か、わかるのではないか。機械学習を行うためのライブラリ「Scikit Learn」では、特徴量の重要度を数値(%)で導出することができる。つまり、ある学習をしたときの各特徴量の重要度合計は1.0(100%)となる。人間が裁量トレードを行うときはRSIやボリンジャーバンドなど得意な指標を見てトレードすると思うが、機械が思う良いテクニカル指標を調べようというわけである。
今回のレースに登場させるテクニカル指標を選ぶため、生成AIに人気20傑を聞いてみた。
プロンプト:
「トレードにおける人気テクニカル指標20種類を挙げてくれませんか。その際、その指標がオシレータ系、トレンド系、出来高系、その他のどれに分類されるかも記載し、表にまとめてください。指標の概要は簡潔に記載してください。」
以下は各AIの回答である。
No. 指標名 分類 概要
1 RSI (相対力指数) オシレータ系 買われ過ぎ、売られ過ぎを示す指標。
2 MACD トレンド系 移動平均を元にしたモメンタム指標。
3 Bollinger Bands (ボリンジャーバンド) トレンド系 株価の標準偏差を示すバンド。
4 OBV (On Balance Volume) 出来高系 出来高を考慮した価格の動きを追跡。
5 Stochastic Oscillator (ストキャスティクス) オシレータ系 価格の位置を過去の範囲と比較。
6 ADX (Average Directional Index) トレンド系 トレンドの強さを評価。
7 ATR (Average True Range) その他 価格の変動性を示す指標。
8 Volume Ratio (VO) 出来高系 特定の期間における出来高の変動。
9 Moving Average (移動平均) トレンド系 価格の平均値。短期・中期・長期など様々な期間がある。
10 Ichimoku Cloud (一目均衡表) その他 複数のラインを使用してトレンドや支持/抵抗を示す。
11 CCI (Commodity Channel Index) オシレータ系 価格が過去の平均からどれだけ離れているかを示す。
12 Parabolic SAR トレンド系 トレンドの方向や終了を示す点。
13 Volume Oscillator 出来高系 2つの移動平均の間の出来高の差を示す。
14 Williams %R オシレータ系 過去の高値・安値と現在の価格を比較。
15 Pivot Points (ピボットポイント) その他 予測される支持と抵抗のレベルを示す。
16 Money Flow Index (MFI) オシレータ系 価格と出来高を組み合わせたオーバーバウト/オーバーソールド指標。
17 Rate of Change (ROC) オシレータ系 価格の変化率。
18 ADL (Accumulation Distribution Line) 出来高系 価格と出来高の流れを追跡。
19 Awesome Oscillator オシレータ系 モメンタムを示すヒストグラム。
20 ZigZag その他 主要なトレンドの動きを強調して表示。
No. 指標名 分類 概要
1 移動平均線(MA) トレンド系 一定期間の平均価格を線で表示する。トレンドの方向や強さを判断する。
2 ボリンジャーバンド トレンド系 移動平均線を中心に、価格の変動幅を示す帯を表示する。相場のボラティリティや反転のタイミングを判断する。
3 一目均衡表 トレンド系 ローソク足と5本の補助線で相場の流れや方向性を分析する。日本発の伝統的なテクニカル指標。
4 MACD(マックディー) トレンド系 短期と中長期の移動平均線の差をグラフで表示する。トレンドの勢いや転換のタイミングを判断する。
5 RSI(相対力指数) オシレーター系 相場の相対的な強弱や過熱感を0~100%で表す。買われ過ぎや売られ過ぎの水準を判断する。
6 ストキャスティクス オシレーター系 相場の価格帯に対する現在価格の位置を0~100%で表す。買われ過ぎや売られ過ぎの水準やクロスオーバーを判断する。
7 ADX(平均方向性指数) トレンド系 相場のトレンドが存在するかどうかを0~100で表す。トレンドが強いか弱いかや転換点を判断する。
8 パラボリックSAR(パラサー) トレンド系 チャート上に点で表示されるストップアンドリバース(SAR)と呼ばれる値で、トレンドの方向や反転点を判断する。
9 クライアントセンチメント(IGCS) その他(逆張り系) IG証券 の個人顧客が取引しているポジション比率を示す。マーケットにおける投資家心理やバイアスを判断する。
10 ピボットポイント(PP) 描写系(サポート・レジスタンス) 前日の高値、安値、終値から算出されるポイントで、サポートラインやレジスタンスラインとして機能する。
11 フィボナッチリトレースメント 描写系(サポート・レジスタンス) トレンドの高値と安値から算出されるフィボナッチ比率(23.6%、38.2%、50%、61.8%)で、反発や押し目の水準を判断する。
12 オシレーター オシレーター系 相場の変動を正弦波で表す。相場の周期性やタイミングを判断する。
13 ローソク足パターン パターン系 ローソク足の形や組み合わせから相場の転換や継続を予測する。日本発の伝統的なテクニカル指標。
14 三角形パターン パターン系 チャート上に三角形の形を作るパターンで、相場の収束やブレイクアウトを予測する。
15 ダブルトップ・ダブルボトム パターン系 チャート上にM字やW字の形を作るパターンで、相場の反転を予測する。
16 回帰分析 統計系 チャート上に回帰直線や回帰曲線を引くことで、相場の傾向や偏りを分析する。
17 移動平均回帰 統計系 移動平均線に対する価格の乖離率をグラフで表示する。相場の過熱感や反発点を判断する。
18 標準偏差 統計系 相場の変動幅を表す指標で、ボリンジャーバンドなどに用いられる。相場のボラティリティや確率を判断する。
19 ギャンファン 描写系(サポート・レジスタンス) 相場の高値と安値から算出されるギャン比率(1×1、2×1、4×1など)で、サポートラインやレジスタンスラインを引く。
20 エリオット波動理論 波動系(トレンド・サイクル) 相場が特定の波動パターン(5波と3波)に従って動くという理論で、相場の展開や転換点を予測する。
No. 指標名 分類 概要
1 RSI オシレータ系 一定期間の価格上昇率と下落率の比率を示す指標。買われすぎ・売られすぎを判断する指標としてよく用いられる。
2 MACD オシレータ系 短期・中期・長期の移動平均線の乖離率を示す指標。トレンドの転換や勢いの変化を判断する指標としてよく用いられる。
3 Stochastic Oscillator オシレータ系 終値が過去の一定期間における最高値と最安値の範囲内でどの位置にあるかを示す指標。買われすぎ・売られすぎを判断する指標としてよく用いられる。
4 Bollinger Bands オシレータ系 移動平均線を中心に上下に一定幅のバンドを表示する指標。相場のボラティリティを判断する指標としてよく用いられる。
5 ADX トレンド系 トレンドの強弱を示す指標。トレンドの継続性を判断する指標としてよく用いられる。
6 MACD-Histogram トレンド系 MACDのヒストグラムの値を表示する指標。トレンドの転換や勢いの変化を判断する指標としてよく用いられる。
7 Ichimoku Kinko Hyo トレンド系 5本線のチャートを用いてトレンドを判断する指標。トレンドの継続性を判断する指標としてよく用いられる。
8 Volume 出来高系 一定期間の取引量を示す指標。相場の勢いや方向性を判断する指標としてよく用いられる。
9 OBV 出来高系 一定期間の出来高の増減を累積して表示する指標。相場の勢いや方向性を判断する指標としてよく用いられる。
10 Chaikin Money Flow 出来高系 一定期間の出来高と価格変動率を組み合わせて算出する指標。相場の勢いや方向性を判断する指標としてよく用いられる。
11 移動平均線 その他 一定期間の価格を平均した線を表示する指標。トレンドの方向性や勢いを判断する指標としてよく用いられる。
12 ボリンジャーバンド その他 移動平均線を中心に上下に一定幅のバンドを表示する指標。相場のボラティリティを判断する指標としてよく用いられる。
13 フィボナッチ回帰ライン その他 フィボナッチ数列に基づいて引かれる水平ライン。トレンドの回帰を判断する指標としてよく用いられる。
14 トレンドライン その他 一定期間の価格の動きに基づいて引かれる水平・垂直ライン。トレンドの方向性や勢いを判断する指標としてよく用いられる。
15 ピボットポイント その他 過去の最高値、最安値、終値の平均値に基づいて計算されるポイント。トレンドの転換を判断する指標としてよく用いられる。
16 水平線 その他 一定の価格水準を示す水平ライン。トレンドのサポート・レジスタンスラインとしてよく用いられる。
やっぱり生成AIはChatGPTが一番安定した回答をする。Bing AIは分類として勝手に「描写系」「統計系」などを作ってしまった。また、ギャンやエリオット波動が人気のわけないだろう。このあたりは投資の世界では「占星術」「黒魔術」として既に廃れてしまったものだからだ。Bardはそこそこがんばっているが、20挙げろと指示したのに16しか挙げてない。
余談だが、Bing AIとBardにもいいところはあって、表を作れと指示するとExcel形式、スプレッドシート形式でエクスポートできる。ChatGPTはエクスポート機能はない。
これを参考に、特徴量効果レースに登場させる指標を以下に選んだ。
RSI
ストキャスティクス
サイコロジカルライン
CCI
MACD
RCI
ADX
パラボリックSAR
単純移動平均
指数移動平均
ボリンジャーバンド
ボリンジャーバンドは入れるか迷ったが入れた。ボリンジャーバンドは
単純移動平均±標準偏差×2
で求められ、単純移動平均と標準偏差は別に特徴量として入れてあるからだ。しかし、ボリンジャーバンドはRSI、MACDと並んで最も人気のある指標なので、入れた。
OBV
ADL
VMAO
VO
一目均衡表
ATR(真の値幅)
ピボットポイント
モメンタム
最小値
最大値
中央値
標準偏差
● 学習アルゴリズムは「AdaBoost」を用いた。
● 3回に分けて特徴量の重要度を測定し、平均を取る。
● 時間足:5分足
● 実施日時:2023年10月29日(日) 10:05、10:25、10:45
● 入力となるデータ行数:1906(10月22日18時頃~実行時までのデータ)
● MACDなど内部パラメータを持つ指標がある。パラメータは最適化せず、指標の作成者が使っていたデフォルトを使用する。RSIだったら14期間、など。MACDはシグナル10、短期30、長期60。
結果が良いものから順に並べたものが下記表である。
ストキャスティクス
サイコロジカルライン
面白い結果だ。ストキャスティクスが圧倒的に強かった。オシレータ系は全体的に強かった。また、予想よりは出来高系が健闘した。今回使用したデータでは、トレンド系は活躍できなかったようだ。重要度0は、学習において機械がその項目を重要と見なかったことを表す。
ストキャスティクスbotを作ったら、儲けられるのだろうか。ストキャスティクスの提案をRCIで支援するなど、やってみると面白そう。
以上