株式投資TweetPocket前回の続きです。3連休はアルゴリズムトレードで利益が出せるかという遊びをやっています。マーケットマイクロストラクチャーの研究その13連休が始まりましたね。この記事を書いてるのは初日の11/23夜なので、33%が終わってしまいました。21:49前回(昨日)は全体のフローを作成し、アルゴリズムのざっくりとした流れについて説明しました。今回はアルゴリズムの肝となるプライシングとタイミングについて考えてみたいと思います。プライシングやタイミングの考える際に使う時系列は、cryptowatchやbitcoinchartsのAPIを使ってbitflyerから引っ張ってくるようにしたいと思います。bitflyerを使っているのは、将来のことを考えると売買APIが整っているbitflyer(coincheckでも可)で売買を行うことが好ましいと考えたからです。計算などデータ解析が簡単にできるようにpythonを使って、numpyやpandasといったライブラリを使っています。pythonを電卓のように使いこなせるようになることも目的の一つです。前回もご紹介しましたが、実際にマーケットに売買注文を出す方法で短期間の成果を出すことについては既に実証済みです。そこで、今回はこの短期売買を長期間繰り返した時にリターンの再現性があるのかという点について、アルゴリズムを使ってシミュレーションで検証してみたいと思います。シミュレーションとは言え、実際の値動きから発注価格を決めて、実際に約定したかどうかをリアルタイムで値動きを拾うので、実際の取引と全く同じ結果になります。シミュレーションを繰り返すことで、短期的な騰落や方向感が目まぐるしく変わる仮想通貨市場でロバストなアルゴリズムの検証ができるようになります。実際のバジェットを考慮せずに気軽にシミュレーションを回せるのでPDCAが早く回せるというメリットもあります。はガチ統計というほどではありませんが、統計的知識でどこまで短期的に利益が出せるかを思考実験をしてみたいと思います。統計の基礎として、平均、標準偏差というパラメータがありますね。経済学的にはリスク資産というものは、発行体のファンダメンタルズに基づいてプライシングされますが、短期的なマーケットマイクロストラクチャーのアプローチでは非合理的な投資家の存在によってランダムに推移することが知られています。金融工学の分野では有名なブラックとショールズはリスク資産の価格変動をウィーナー過程に基づく幾何ブラウン運動で表現し、ブラックショールズモデルというプライシングの基礎を構築しました。このプライシングモデルを一言で言ってしまえば株式などのリスク資産の価格はランダムな価格変動を示すというものです。そこで価格変動が過去の平均値と標準偏差に基づいた正規分布に従うと仮定した時に、平均回帰の原理を使ったアービトラージを考えます。下図は正規分布そのものを表したものですが、ここで書かれている数字が今回のアルゴリズムの基礎となります。リスク資産は短期的には方向感を持たないので、価格変化は上下方向にバイアスがないという点で正規分布を仮定することができます。真ん中の最もとんがっている部分が中央値であり平均値となります。このグラフは平均値から左右両方向に1σ(標準偏差)変化する確率は34%ずつの合計64%となることを示しています。ある時点において過去の平均値と標準偏差を算出すると、平均から1標準偏差下回る確率は下の計算から16%であることが分かります。34.1%=15.9%これはどういうことかというと過去の平均価格から1標準偏差を下回る価格で買い注文を100回入れるとそのうち16回、つまり6回に1回は約定することになります。単純化のため、実際の注文を全て独立とすると、注文を出して引っ込めて再度計算して注文を出すという施行を6回繰り返せば成功確率は100%に近くなります。ちなみにここでの独立性とは、施行(注文)によって約定確率が変わらないということを指しています。高い確率で約定できるじゃないかと思ったのですが、よくよく考えるとこの1回の施行は過去30個のデータの標準偏差を使って計算しているため、施行の独立性を担保するためには注文と注文の間隔はこの30個分のデータ期間だけ空ける必要があります。そこで問題になるのがデータ頻度の問題です。データのサンプリング間隔を1秒で取るのか、1分ごとに取るのか、5分ごとに取るのかということが問題になってきます。仮にサンプリング間隔を1分で取るとデータ取得期間は30分ということになりますが、注文間隔も30分あける必要があり、これでは6回の独立施行を繰り返すためには3時間かかってしまうためお話になりません。そもそも一定のサンプリング間隔を設定してしまうと、その間隔の分注文間隔も開けなければならず、制約になってしまうのでここではtickデータを使うことにします。直近に発生したトランザクションで平均や標準偏差を取得することにします。こんな話をしているかというと、統計を使った実証分析では標準偏差や平均が正しく計算できていることと、施行の独立性が担保できていることが満足できなければ平均回帰の法則が使えなくなってしまう、ひいては利益を得られなくなってしまうからです。直近のTickデータはbitcoincharts.comを使って以下のようにして取得します。df_tickアルゴリズムの中で容易に使えるようにするために関数にしています。このように得られた直近の標準偏差を使って、現在の値段をベースに買い注文の値段を決定します。ちなみに買い注文は現在の値段に対して1標準偏差安くしていますが、2標準偏差としても問題ありませんが、その分平均回帰する確率が大きくなるため利確しやすくなる反面、当然ですが、買い注文そのものが約定しにくくなります。逆に現値に対する乖離を小さくするほど買い注文が約定しやすくなる反面、利確しづらくなります。先ほどの正規分布を仮定した際の標準偏差が含まれる34.1%の数字をどう捉えるかという問題になりますが、今回は1標準偏差として置いています。このパラメータを動的に変えることでどんな影響があるのか、最適化できるのかについて調べてみたいと思います。売り注文についても同様に買い注文同様、1標準偏差と置いてもいいのですが、ロングポジションを持ってしまう分リスクを取っているため、より利確しやすいよう売りの指値は約定金額から0.5標準偏差だけ高く設定します。この売り注文のパラメータも最適化要素の一つです。ここまできたらあとはこの値段で指値注文を実行して、前回のフローチャートに従って売買するだけです。↓ポチっと押して頂けるととても喜びます。続き↓マーケットマイクロストラクチャーの研究その3前々回、前回に続いて3連休企画第三弾です。経歴:一貫して米国株投資を継続中。2016年にアマゾンを購入してからひたすら買い増した後2018年9月に100株全売却して方針転換。昔から根強い人気があるIPOですが、その人気の為にIPOの抽選に申し込んでもなかなか当たらないという投資家の方々...記事を読む長生きするリスクに対応する人生100年時代と言われて久しいです。新成人の皆様、おめでとうございます。新成人の皆様におかれましたは親戚からお祝いをもらったり、はじめてのお酒を飲んだりとお祝い...記事を読むひとの遺伝子にお金というソフトウェアは実装されていくのか突拍子もないタイトルですが、最近よく考えているテーマなので記事にしてみました。富裕層の子供は富裕層になりやすい、貧困...記事を読む高金利通貨への投資は悪か金利が高い一方、インフレ率が高いため投資や買い物をした方が良いと言う意見をよく目にします。最近ではトルコなどの新興国で20%...記事を読むアメリカ政府はハイテク企業の業績を支援して、雇用問題を棚上げすべき12月6日、アメリカのトランプ政権はハイテク企業との会合に開きました。資本異動とは発行済株式数を調整することを言います。早いもので2019年も残り2ヶ月となりましたが、10月のポートフォリオの振り返りをしたいと思います。上記OGPのクリエイティブは、私のポ...記事を読むまだ現金で消耗してるの?管理人は現金を全く持ちません。文字通り、1円も保有していません。コメントをキャンセルメールアドレスが公開されることはありません。*サイト上に表示された文字を入力してください。年齢:37経歴:一貫して米国株投資を継続中。2016年に700ドルだったアマゾンをひたすら買い増し続け、2018年9月に2,000ドルで100株全売却。奇跡的な売買は継続できないと判断して方針転換。現在は高配当ディフェンシブ個別銘柄やVTなど分散投資。twitterでつぶやきます。パウエル五郎の米国株式奮闘ブログ.。