さっき自分で書いてみてマーケットが基本的にランダムなのであれば、ランダムであることを取り込む形で特徴量作ったほうがいいよなと思った
ランダムということはそのランダムを生み出す確率分布があるわけで、足は確率変数なはず。仮に確率分布が正規分布であるとした時、最も高い確率で出現するのは平均になるわけだし、標準偏差の影響もデカイはず。
標準偏差に関してはアルゴリズム側で色々やりそうな気配を感じるので、特徴量に関しては平均であることが非常に重要なんじゃないかと思った。
そう考えるとわざわざrichmanbtc氏が平均足戦略を取り上げていた理由に納得がいくかなという。
---
特徴量といえば、時系列データでその時を特定できてしまうような特徴量は避けるべきっぽい。
ってことは移動平均線を始めとした価格に影響を受ける指標は使えないよなと思った。
EMAに関しては効果的って話を裁量トレーダーの人から聞いたことあるんだけど、これも機械学習では使いにくいっぽいなと思った。
強いて言うなら乖離率としたら使えるのか。
試したことなかったから後で試してみる。
基本的に終値に対しての割合みたいな感じで特徴量を作れば定常性担保できるだろうし、その考え方大事かもしれん
---
仮に最初に上げた平均足を特徴量として使うのであればどうやって定常性を作るんだろう。あれか前の足からの変化率として捉えればいいのかな
絶対値をとってしまうとどうしても時期によって大きな値、小さな値になってしまうから定常性が著しく落ちてしまうし(特に仮想通貨はそう)、とにかく割合意識かなという感じ
勾配boostingだとそういう低定常性関係ないみたいな話見たような記憶あったりするんだけど、うろおぼえすぎて本当かどうかわかんないし、どこで見たかもわからないというね。
まあ定常性が高いに越したことはないだろうし、この変意識してみたい。
---
まとめると、特徴量に関して
- マーケットが基本ランダムウォークなら平均が大事になってくると思った
- 定常性高いほうが時系列データは汎化性能に良いと聞くので、できる限り割合に直したほうがいいと思った
あと、テクニカル指標とか特徴量として組み込んだ場合、どういったシナリオパターンを予測できるかを考えたほうがいい気がした。トレンドが起きるようなシナリオなのか、レンジになるようなシナリオなのか
テクニカルの重要性あんまりわかんないからあれだけど、色々考えないとだなーという次第。基本は箇条書きした部分頭に入れておけばいいと思った
あと開発環境としてjupyter lab使ってるけどkaggleでやったほうが便利という話を聞いたので移行とか考えたい。また新しく勉強するのめんどいなとは思う
追記:
今気づいたけど、kaggleとか見てるとテクニカル指標をrolling(5),rolling(10),rolling(20)...みたいな感じで一つの指標を複数入れてたりするんだけど、これって長期の平均に対しての短期の平均を見たいからやってるのかもと思った
長期の平均がわかればその期間の確率分布がわかるはず。その確率分布に対して短期の平均が外れ値をとっているのであればそれはランダムではなく何かしらの意図のある値が出ていると言えるはず。
ランダムじゃないところをいかに見つけるかが重要なんだから、そうやって発見してるんじゃないかという風に思った。仮説でしか無いけど