2. 探索・分析:売買判断の構造
2.1 単一期最適化:予測を「今の売買量」に変える
現在の保有から、ポートフォリオの価値を最も改善する変更量を選ぶ。予測の符号だけでなく、変更後のリスクと、変更そのものの費用を比較する。
これは論文の実用的な単一期最適化(Single-Period Optimization)の式(4.9)。各項の役割は次のとおり。
売買量にかかる項と、保有量にかかる項模式図:各項の尺度・重みは係数で調整。
- 予測リターン:r̂ᵀz
- 売買によって追加される期待リターン。r̂ᵀ(w + z)としても、r̂ᵀwは今回選ぶzに依存しないので、最適な売買は変わらない。
- リスク:ψ(w + z)
- 取引後に持つポートフォリオを評価。典型例は、予測共分散行列Σを使う (w + z)ᵀΣ(w + z)。ベンチマークに対するリスクなら、保有からベンチマークを引く。
- 売買コスト:φ̂trade(z)
- どれだけポジションを変更するかにかかる。現在の保有そのものにはかからない。
- 保有コスト:φ̂hold(w + z)
- 変更した後、何を持つかにかかる。論文ではショートの借株費用などを扱う。
この区別により、「今持っているロングを維持する」と「同量のロングを新しく作る」は、同じ取引後ポジションでも異なる判断になる。
定義・検証記録:ウェイト、売買量、制約、現金
- 材料:原論文§2、§4、式(4.9)、本文p.43。
- w:各資産・現金の保有額を、現在の純資産vで割った値。負の資産保有はショート、負の現金は借入。
- z:売買額を同じ現在のvで割った値。購入はプラス、売却はマイナス。資産+現金のベクトル。
- γrisk、γtrade、γhold:それぞれの項の強さを調整する係数。費用の実際の請求額そのものではない。
- 保有制約:レバレッジ上限、銘柄別上限、現金下限、因子エクスポージャーなど。
- 売買制約:売買量を予測市場出来高の一定割合以下にする、回転率上限、売買禁止など。
- 計画内の1ᵀz = 0は、現金からの費用支払いを省略した近似。費用は目的関数には残る。実際の現金残高は実現費用を差し引いて更新する。
- 厳密には、w + zは取引前の純資産で正規化した取引後保有量。費用を反映する厳密モデルでは合計が1とは限らず、近似モデルでは1となる。
2.2 コストを入れると、なぜ「動かない」が最適になるのか
上昇予測があるだけでは、取引費用を回収できるとは限らない。特に比例費用は、小さな保有変更の利益を打ち消し、現在のポジションを維持する領域を作る。
現在の保有から見た、限界利益の三つの領域模式図:簡略一銘柄モデルからの導出。
「売買しない」は「ノーポジションにする」ではない。μ − qx₀は、今のポジションから保有を少し増やす限界利益。その絶対値が片道コストa以内なら、x = x₀のまま動かさない。
- ノーポジションからなら、予測が弱い間はゼロを維持。
- ロング保有中なら、予測が少し弱まっても、売却費用を考えて維持することがある。
- 予測がプラスでも、既存ロングが過大なら、縮小を選ぶことがある。
導出記録:売買しない領域は論文結果ではなく、簡略モデルからの導出
- 対象:一銘柄+現金。その他の保有制約・保有費用は省略、q > 0。
- x₀:現在の保有、x:取引後保有、μ:一期間の期待リターン、q:二次リスク罰則、a:片道比例コスト。
- x = x₀での絶対値の劣勾配は[-1, 1]。最適条件は0 ∈ μ − qx₀ − a[-1, 1]。
- 制約なしで閾値を超える場合、購入側はx = (μ − a)/q、売却側はx = (μ + a)/q。
- 図は説明用の模式図。実市場で推定した閾値ではない。
大きな注文を抑えるコストは、別の効果
論文の代表的なモデル(2.2)は、比例コストに市場インパクト項を加える。uは注文額、Vは期間内の市場出来高。注文を大きくすると費用が比例以上に増え、流動性が低い期間ほど高くつく。
- a|u|:スプレッドや比例手数料。折れ曲がりが「売買しない領域」を作る。
- 3/2乗の項:大きな変更を抑える。多期間で扱うと、分割して変更する動機になり得る。
- cu:買いと売りの非対称性などを表す線形項。
滑らかな二次費用などによる「少しずつ近づく」と、比例費用による「閾値以内は動かない」は、同じ性質ではない。[§2.3、§4.8]
2.3 多期間最適化:今日の取引が、明日以降の自分を困らせないか
単一期では、今日の入り口の費用は扱える。しかし、明日の予測が反対向きなら、今日作るポジションが明日の反転費用を増やす。多期間最適化(Multi-Period Optimization)は、この連結を明示的に扱う。
期間ごとの売買が、次の期間の保有を決める模式図:実測の価格経路ではなく、計画内の依存関係。
式(5.1)のポイントは、将来の保有経路を選ぶこと。r̂τ|tは「時点tの情報で作った、将来の期間τのリターン予測」であり、未来に観測する実績ではない。
- 短期は上昇、長期は下落
- コストが低ければ、まず短期上昇を取り、後に縮小・反転する。
- コストが高ければ、短期のためだけに買って売り戻すことを避け、今は動かない可能性がある。
- 短期と長期の予測を単純に足して相殺すると、この「時間順序と往復コスト」を失う。[§5.1、p.46]
- 将来、リスクが上がる
- リスクが高まる前から、費用と利益を比べて段階的に減らす。
- 将来、流動性が改善する
- 今すぐ全量を変更せず、費用の安い時期へ一部を回す。
- 将来、レバレッジ上限が厳しくなる
- 期限直前に急に売るのでなく、制約変更に向けて経路を計画する。[pp.46–47]
定式化記録:何が単一期と違い、何が近似か
- 現在のw_tは既知。未来の売買z_t…z_t+H−1と、未来の保有を変数にする。
- H = 1なら、基本的な単一期問題(4.4)に戻る。式(4.9)の費用倍率は実用上の調整として拡張できる。
- 各将来期間の予測・費用・リスク・制約を入力する。情報がなければ一定値で置くこともできるが、有用な将来情報が増えたことにはならない。
- 将来の費用を「保有経路の変化」にかけるので、隣接期間の判断が結びつく。
- 期間リスクの和を分散として解釈する場合は、期間リターンの独立性を暗黙に使う。より一般には、各期保有への罰則として解釈できる。[p.48]
- 予測リターン・費用は目的関数に残し、ウェイトの伝播だけを近似する。厳密モデルとの違いは2.6節で説明。
2.4 同じ予測でも、費用が変わると保有経路が変わる
短期の利益と後の反転費用を、単純な条件で確認する。第1期間の期待リターンは+1%、第2期間は−1%、第3期間はゼロ保有へ戻す。下の図は解説用に最適化で計算した例であり、原論文の結果でも市場データの実測でもない。
計算例:片道費用で変わる最適ポジション
低コストの線は+0.40から−0.40へ反転し、中程度の線は同じ方向でも±0.20へ縮む。高コストの線はゼロのまま。上昇・下落の予測が正しくても、往路・反転・復路を含む費用によって「取引しない」が選ばれる。
| 片道費用 | 第1期間 | 第2期間 | 第3期間 |
|---|
| 0.1% | +0.40 | -0.40 | 0.00 |
| 0.3% | +0.20 | -0.20 | 0.00 |
| 0.6% | 0.00 | 0.00 | 0.00 |
計算記録:説明例の目的関数・制約・解法
- ポジションは口座純資産に対する比率。正はロング、負はショート。
- 費用aは売買額に対する片道比例費用。反転時は、ロング解消とショート新設の両方の売買額にかかる。
- CVXPY+CLARABELで実際に解き、最適状態と解を確認。計画全体を表示する説明例であり、更新される予測を使う実運用の再最適化実験ではない。
- 期待リターンは人工的に設定。費用・リスクも実市場の推定値ではない。
2.5 計画は複数期間、実行するのは最初の売買だけ
未来の計画は、今の行動を評価するために使う。明日以降に出す注文を、今日すべて固定するのではない。
一歩だけ実行し、実際の状態から再計画模式図:未来の注文を約束する図ではない。
Model Predictive Control(モデル予測制御)またはreceding horizon controlと呼ばれる。時点tでH期間を最適化し、z_tだけ実行する。次の時点では、実際の約定後保有と新しい予測から、再びH期間を解く。[p.50]
| 時間に関する量 | 意味 | 他の時間との違い |
|---|
| 売買の更新頻度 | どの間隔で判断を解き直すか | 毎時更新しても、毎時必ず売買するとは限らない |
| 予測対象期間 | どの将来区間のリターンを予測するか | 予測入力の過去lookbackとは別 |
| 計画期間H | 何期間先まで意思決定に含めるか | 固定の保有期限ではない |
| 実際の保有期間 | 再計算を繰り返した結果、保有が続く時間 | Hより長くなる場合もある |
終端で現金へ戻す制約は、「その日に必ず退出」ではない
論文は、計画末尾で現金やベンチマークへ戻す終端制約を説明する。これは退出費用を考慮するためであり、H期間後に実際に清算すると約束する意味ではない。翌時点には再び先まで計画するので、終点は移動する。[p.51]
原典確認:終端制約・複数時間尺度
“This does not mean we intend to liquidate the portfolio in H periods; rather, it means we should carry out our planning as if this were the case.”
原論文p.51。全額現金へ戻す例は、入り口だけが魅力的で出口が高いポジションを避けるための計画条件。
- §5.5は計算を軽くする複数時間尺度の例を示す。H = 100、T_med = 5、T_long = 21とし、今・5期間先・21期間先・終端でだけ計画上の売買を置く。
- これは100日間の全注文を固定して実行する方法ではない。現在の最初の行動だけを実行する原則は同じ。
- シグナル減衰を将来予測へ反映する例もあるが、減衰半減期がそのまま最適保有時間になるという結果ではない。
2.6 凸にすることで、何が解きやすくなり、何を捨てているか
共分散による二次リスク、比例費用、3/2乗の費用、レバレッジ制約などは凸最適化として扱える。適切に定式化された問題では、局所解に左右されず、モデル内の大域的な最適解を求められる。
ただし「モデルを最適に解いた」と「現実の市場で最適」は別。将来予測と費用モデルの誤差に加え、計画内には口座更新の近似がある。
- 実際には、資産リターンで保有比率が動き、費用で純資産が減る。
- 計画では、一期間の変動が小さいと考えて伝播を簡略化。ただし期待リターンと費用は、目的関数から消していない。
- 高レバレッジ、大きい価格変動、長い期間区切りでは、近似の影響を確認する必要がある。これは解説上の適用上の注意であり、論文がその影響を暗号資産で測定したわけではない。
予測誤差に対して、賭けを小さくする
期待リターンの誤差を|δ| ≤ ρと置くと、最悪の予測誤差を考えたリターンは、次のようになる。[式(4.6)、pp.31–32]
確信の弱い銘柄ほどρを大きくし、ベンチマークから大きく離れる保有を抑える。予測を正しくする処理ではなく、予測が外れたときの感応度を抑える処理である。
計算上の境界:非凸制約と原典の誤植
- 最小取引額、保有銘柄数上限、整数ロット、取引実施時の固定料金は非凸になる。凸緩和後に対象や符号を固定して再計算する近似も説明される。近似の大域的最適性を保証する意味ではない。[§4.7]
- 全期間の不確実性を分岐させる完全な動的計画法と、この予測経路を解き直す方法は異なる。後者は実用的な近似。[§1]
- 原PDF p.31の説明文には、ロングに対する最悪リターンをr̂ + ρと書く符号の誤植がある。|δ| ≤ ρの定義と直後の数式に沿えば、ロング側の最悪値はr̂ − ρ。ここでは整合する数式を採用。
3. 結果:論文のシミュレーションは何を示したか
定式化が分かっただけでは、その運用効果は分からない。著者は2012年1月〜2016年12月の株式データを使い、費用と調整係数、単一期と多期間の違いを示している。
以下の数値は論文が報告するシミュレーション結果。そのまま実運用できる予測戦略の成績ではない。
3.1 口座が大きくなると、同じ再配分でも高くつく
同じ銘柄均等配分を目指し、再配分の頻度と初期資産を変える。比較するのは、年率取引費用と、均等配分ベンチマークに対する年率active risk(追随誤差)。
原表再描画:再配分の頻度と口座規模
再配分を減らすほど、線は右下へ進む。費用が下がる一方、ベンチマークからのずれが増える。100億ドルの線が1億ドルより上にあるのは、ほぼ同じ回転率でも、市場インパクト項で大口の費用が増えるため。
検証記録:Table 7.1の全値と比較設定
- 材料:Table 7.1、本文p.59。図は原表から再描画。
- 対象:2016年12月のS&P 500構成銘柄のうち、2012〜2016年を通じて取引された銘柄。期間は2012年1月〜2016年12月。
- 初期保有:各資産1/n、現金0。再配分時はこの均等配分へ戻す。非再配分期間は売買しない。
- 市場データ:Quandlの価格・出来高。現金リターンはFederal Reserve overnight rate。
- 比例費用a = 5bp、ショート保有費s = 1bp/期間、b = 1、c = 0。価格の始値・終値から日次変動の代理量を作る。値は推定モデル・仮定を含む。
- active returnはポートフォリオリターンから均等配分ベンチマークを引いた値。active riskはその差の標準偏差。
- 値はすべて年率。active risk 0.00%などは原表の丸め値であり、厳密なゼロと解釈しない。
| 初期資産 | 再配分 | active return % | active risk % | 取引費用 % | 回転率 % |
|---|
| 1億ドル | 毎日 | -0.07 | 0.00 | 0.07 | 220.53 |
| 1億ドル | 毎週 | -0.07 | 0.09 | 0.04 | 105.67 |
| 1億ドル | 毎月 | -0.12 | 0.21 | 0.02 | 52.71 |
| 1億ドル | 四半期 | -0.11 | 0.35 | 0.01 | 29.98 |
| 1億ドル | 毎年 | -0.10 | 0.63 | 0.01 | 12.54 |
| 1億ドル | 保有のみ | -0.36 | 1.53 | 0.00 | 0.00 |
| 100億ドル | 毎日 | -0.25 | 0.01 | 0.25 | 220.53 |
| 100億ドル | 毎週 | -0.19 | 0.09 | 0.16 | 105.67 |
| 100億ドル | 毎月 | -0.20 | 0.21 | 0.10 | 52.71 |
| 100億ドル | 四半期 | -0.17 | 0.35 | 0.07 | 29.99 |
| 100億ドル | 毎年 | -0.13 | 0.63 | 0.04 | 12.54 |
| 100億ドル | 保有のみ | -0.36 | 1.53 | 0.00 | 0.00 |
3.2 予測が同じでも、リスク・売買・保有の罰則で結果が変わる
単一期最適化で複数の係数を試した後、著者が選んだフロンティア上の点を比較する。横軸は年率超過リスク、縦軸は年率平均超過リターン。ここでの「超過」は現金リターンとの差。
原表再描画:著者が選んだ単一期のフロンティア点
点は右上へ並び、リスクを増やすほど高いリターンを取る関係を示す。ただし、単にγriskだけを動かした一本の経路ではなく、売買・保有の罰則も変えた候補から選ばれた点である。
Table 7.2の一例は、γrisk = 32、γtrade = 7、γhold = 10で、年率超過リターン12.35%、超過リスク5.43%。この値は、下記の人工予測と期間内の係数選択を使った掲載例の値である。
著者は、最適化側で実際の借株費用より強くショートを罰すると、全体の成績が改善する例を説明する。最適化のγholdを10倍にしても、シミュレーターで請求する借株費用を10倍にするわけではない。行動を調整する正則化として働く。[§7.3]
検証記録:Table 7.2の全値・予測・リスク・選択
- 初期純資産1億ドル、初期均等配分、レバレッジ上限3。対象・期間・実現費用は§7.1の設定。
- リスクモデル:過去2年の実現リターンから15因子+対角のモデル。月初に推定し、月内では同じモデルを使う。
- 売買費用に使う出来高・変動の予測:過去10期間の移動平均。
- 資産リターン予測:r̂_t = α(r_t + ε_t)。ε_tは平均ゼロの独立ノイズ。σ²_ε = .02、典型的σ²_r = .0005、α = .024を採用。[式7.1]
- これは実現リターンr_tを使う人工予測。著者自身が実際の予測ではないと明記する。
- 粗い係数探索→細かい探索→掲載候補を選択。同じ全期間で選んだ結果で、未使用期間の独立評価ではない。
- 原文は最後の探索を410 simulationsと記載するが、掲載された全組合せ数には不整合がある。ここでは原表の15行だけを再描画し、未公開候補を補作しない。
| γrisk | γtrade | γhold | 超過リターン % | 超過リスク % |
|---|
| 1000.00 | 8.00 | 100.00 | 1.33 | 0.39 |
| 562.00 | 6.00 | 100.00 | 2.49 | 0.74 |
| 316.00 | 7.00 | 100.00 | 2.98 | 1.02 |
| 1000.00 | 7.50 | 10.00 | 4.64 | 1.22 |
| 562.00 | 8.00 | 10.00 | 5.31 | 1.56 |
| 316.00 | 7.50 | 10.00 | 6.53 | 2.27 |
| 316.00 | 6.50 | 10.00 | 6.88 | 2.61 |
| 178.00 | 6.50 | 10.00 | 8.04 | 3.20 |
| 100.00 | 8.00 | 10.00 | 8.26 | 3.32 |
| 32.00 | 7.00 | 10.00 | 12.35 | 5.43 |
| 18.00 | 6.50 | 0.10 | 14.96 | 7.32 |
| 6.00 | 7.50 | 10.00 | 18.51 | 10.44 |
| 2.00 | 6.50 | 10.00 | 23.40 | 13.87 |
| 0.32 | 6.50 | 10.00 | 26.79 | 17.50 |
| 0.18 | 7.00 | 10.00 | 28.16 | 19.30 |
3.3 多期間の線が上にある。でも、同じ情報の比較ではない
著者のFigure 7.7は、単一期とH = 2の多期間最適化のフロンティアを比較する。多期間側は、今日と翌日の売買を計画し、今日だけ実行する。
原論文Figure 7.7:単一期と多期間の比較
原PDF本文p.69(PDF72頁)の図を抜粋。赤=多期間、緑=単一期。年率超過リスクと年率超過リターン。元図の座標・凡例を保持。
赤い多期間の線が、緑の単一期の線より上に位置し、同程度のリスクで高いリターンを示す。しかし著者は、この優位性の大部分を「今日だけでなく、明日のリターン予測も持つこと」で説明している。
計画方法だけの純粋な効果を切り分けた比較ではない。多期間側には、翌日の実現リターンから作った人工予測も今日与えている。さらに、翌日の予測は翌日になっても同じという設定である。[pp.66–69]
掲載比較に含まれる、入力情報の違い模式図:追加情報を含む比較。計画方法だけの因果効果ではない。
検証記録:多期間比較と成績の適用範囲
- 対象・市場データ・初期純資産・初期配分・レバレッジ・リスクモデルは単一期例と同じ。
- H = 2。今日と翌日の費用推定には、単一期と同じ予測値を用いる。
- r̂_t|t = r̂_t、r̂_t+1|t = r̂_t+1。両方とも式(7.1)からの人工予測。翌日もr̂_t+1|t+1 = r̂_t+1。
- 多期間側も同期間で罰則を探索。Figure 7.7の点を画像から読み取って精密数値へ変換することはしていない。
- 母集団は期末構成銘柄から選ばれており、生存者バイアスがある。著者は対象期間が上昇相場だったことも指摘する。
- スプレッド・借株費用などは一定値の仮定。実運用や別市場での優位性は、この掲載例から直接は確認できない。
4. 洞察:保有時間ではなく、保有判断を更新する
予測を使う価値は、取引する口座によって変わる
同じ予測でも、小さなロング・ショート口座には使えて、大きなロング専用口座には使いにくいことがある。理由は、費用・制約・現在の保有が異なるから。予測の精度と、ポートフォリオで使ったときの価値は一致しない。[§4.8、p.44]
売買ルールの一連の判断を、同じ問題で扱う
| 行動 | 最適化での意味 |
|---|
| エントリー | ゼロ保有から非ゼロの保有へ変更 |
| 維持 | 現在の保有を変更しないことが最適 |
| 追加・縮小 | 予測利益と限界リスク・費用を比較して量を変える |
| 撤退 | ゼロまたはベンチマークへ戻す |
| 反転 | 反対方向の利益が、解消・新設費用とリスクを上回る |
個別のif文を先に固定する代わりに、同じ予測・口座状態・費用モデルから各行動を選べる。ただし、係数と計画期間は別に選ぶ必要があり、最適化器がすべての設定を自動的に発見するわけではない。
実務へ移すなら、区間別の予測と口座状態が必要
- 将来区間ごとの期待リターン
- 買い/売りの符号だけでなく、どの区間にどれだけ利益を予測するかを定義する。
- 1時間・1日・1週間の累積リターン予測を、そのまま独立区間の収益として足さない。重複を除き、利益を二重計上しない経路へ整える。
- 口座状態・リスク・費用
- 現在の保有・純資産・現金、銘柄間相関、保有と取引の制約、将来流動性と費用。
- 最初の注文だけ実行し、実際の約定から口座を更新して、次の時点で解き直す。
- 係数の選択と未使用期間の評価
- γrisk、γtrade、γhold、Hを時系列順に選び、未使用期間で費用込みの口座成績を評価する。
- 多期間の効果を切り分けるには、情報の違いと計画方法の違いを分離する比較が必要。これは解説上の評価方針であり、今回実行した新しいbacktestではない。
perpへの適用は、ここでは外挿・未実装。資金調達率の支払い・受取りは保有に伴う費用へ対応づけられるが、担保、cross-margin、維持証拠金、清算、契約倍率を含む口座モデルは別途必要。株式+現金モデルをそのまま置き換えるだけでは済まない。
Q&A
シグナルの半減期から、保有時間を決めればよい?
この論文の方法はそうではない。半減期は将来の予測経路を作る材料になり得るが、現在の保有・費用・リスク・他の予測も判断に効く。また、シグナル値が持続することと、将来の追加リターンを予測し続けることは別。実際の保有時間は、再最適化の結果として決まる。
予測が弱まったのに、ロングを維持するのは合理的?
あり得る。少し売る利益が、売却費用以下なら、現在のポジションを維持する。これは予測が強いことを意味せず、保有変更の費用を含む判断である。比例費用の例では |μ − qx₀| ≤ a がその領域。
Hを長くすれば、必ず良くなる?
必ずではない。将来の予測・費用・制約に有用な情報があるか、予測誤差と計画近似がどれだけ効くかに依存する。計算も増える。論文は、問題構造を活用すればHに対して線形に計算量を増やせると説明し、長い期間を少数の売買時点にまとめる例も示す。
コストを正しく推定すれば、γtrade = 1が正解?
そうとは限らない。著者は、最適化側の費用倍率を売買行動の調整係数として扱う。掲載例でもγtradeを変えると結果が大きく変わる。ただし、成績評価側には現実的な費用を差し引く必要があり、評価費用まで都合よく変えることとは異なる。
多期間最適化は、固定保有時間の最適化の代わりになる?
求めるものが違う。固定時間の最適化は「同じ売買ルールで何時間後に退出するか」を選ぶ。ここでは「今の状態で、今どれだけ変更するか」を更新する。退出・反転を状態に応じて決めたい場合に対応するが、固定timeoutを一つ推定する論文ではない。
付属ソフトウェアを入れれば、完成戦略になる?
ならない。CVXPortfolioは、リターン予測・リスク・コスト・制約を組み立て、方策とシミュレーターを分けるための実装。利益を生む予測や取引所固有の口座モデルは別途必要。論文§6のAPI例は当時のものなので、現行版で実装する際は現在のAPIを確認する。
原典と参照箇所
原論文の主張、原表からの再描画、解説用模式図、人工的な計算例を区別して掲載。今回、新しい市場データの分析・戦略検証は行っていない。