記事の目次
根拠と適用範囲
確認したワーキングペーパーは高出来高群から低出来高群を引いた正のリターン差とTAQ指値注文検証を報告しています。二つの規模群の0.89%と0.73%は、モデル化したスプレッド効果を反映後、手数料と市場インパクトを除いたロング想定元本一ドルあたりの値です。口座の純リターンではありません。[1]
実践の流れ
- 形成日を完了する一日分の売買代金がそろうのを待ち、利用可能になった時刻を記録します。
- イベントをランク付けする当日を同じ銘柄の直前49セッションと比較します。
- 企業規模をそろえる資金予算を明示し、高出来高群から低出来高群を引く組合せを作ります。
- 約定を検証する同じ機会集合で成行型と指値型を比較します。
- 各コホートを追跡する借株、部分約定、資金移動、保有期間の時計を記録します。
- リターンの差を評価する統計的なスプレッド、コスト、および口座残高収益率を個別に示します。
異常な活動は、株式自体に関連するものである。
単純な出来高では大企業と小企業を比較しにくいため、この方法は各銘柄自身にとって当日のドル売買代金がどれほど異常かを問います。終了した形成日の代金を当日と直前49セッションで順位付けします。約定データでは各約定価格と売買株数の積を合計します。日足終値と当日の総売買株数の積は近似です。
ランクが 1 から 50 までの場合、提案されている実装では、ランク 46 以上を高ボリューム、ランク 5 以下を低ボリュームと分類します。これらは、すべての観測値が異なる場合の上位および下位のデシルを表します。同順位の処理を明示的に定義します。平均ランクでは、各テールに正確に 5 つの観測値を強制するのではなく、同順位の境界グループを未分類のままにすることができます。
仮想銘柄のドル売買代金が$40百万なら自身の過去に対して48位、別銘柄が$300百万でも25位かもしれません。前者はこの定義で異常に活発、後者はそうではありません。絶対額最大の銘柄を選ぶ方法ではありません。
元の仮説は、異常な活動イベント後のその後のリターンに関するものです。形成日が強気である必要はありません。プラスのローソク足、抵抗線のブレイクアウト、またはVWAP条件を追加すると、別の仮説が生まれ、追加のフィルターとして測定する必要があります。
一日分のシグナルはその日の終了後に利用可能になる
形成日のドル売買代金は寄り付きや途中では未完成です。必要な観測が届いて初めて順位が利用可能になります。場中の最終代金予測は別シグナルで、元の事象定義をそのまま引き継げません。
元の研究は1963年八月から1996年十二月のNYSE株を対象とします。主な形成日程は重複しない50日間隔で、提案の日次走査版はより多くの重複事象を生みます。[1] 順位式が同じでも、ポートフォリオ日程は同じにはなりません。
イベント発生時刻、データ受信時刻、最終修正時刻はそれぞれ分けて記録してください。時間外修正によりランクが45から48に変更された場合は、その情報が利用可能になった時刻を記録してください。リサーチエンジンは、修正後の分類に基づいて、以前の終値で取引を実行してはなりません。
企業行動と取引金額の算出方法についても、一定の基準を設ける必要がある。調整後の株価に調整前の株式数を乗じると、株式分割前後の取引状況が歪められる可能性がある。取引セッションの欠落、取引停止、履歴の不完全さは、ゼロで埋めるのではなく、明示された適格性ルールを適用すべきである。
高ボリューム群と低ボリューム群を比較可能なコホートとして構築する
以下の提案は日次シグナル確認後、企業規模を対応させた高出来高群ロング・低出来高群ショートを構成します。運用上の拡張であり論文の全日程を再現する主張ではありません。評価前に群の定義を対応させ、企業規模差だけで比較が決まらないようにします。
マッチングされたコホート内では、ロングとショートの想定元本を均等にし、注文発注時には資本を準備し、既存のコホートが閉鎖されるまでは、同一資産について別の独立したコホートを開設しない。最後の条件は、この提案における重複エクスポージャーを制限するものであり、これを削除するかどうかはポートフォリオの別の選択肢となる。
提案されている保有期間は、計画されたエントリー日から 20 セッションで、固定の指値注文期限が設定されています。約定の遅延や部分的な約定は、この期間をリセットしたり、機会を無期限に延長したりすることはありません。実際の約定から測定する場合は、別の方法となります。取引が完了しなかった場合でも、未約定数量、借入拒否、キャンセル失敗を記録します。
空売り側の借入は、現実的な制約となります。借入ができない低出来高銘柄は、過去の取引機会ログから削除されるべきではありません。拒否を記録し、対応する買いポジションに対して事前に宣言された処理を適用します。これにより、魅力的なペーパースプレッドと実行可能な口座との差が維持されます。
構成銘柄、目標想定元本、約定数量、費用、決済日を各コホートの台帳に保存します。コホート間で注文を相殺して執行しても、口座の保有ポジションと資金移動は各研究リターンの帰属と照合できる必要があります。
after_formation_session(d):
for asset in eligible_asof(d):
values = dollar_volume[asset, d-49:d+1]
rank = average_rank_of_last(values)
label = HIGH if rank >= 46 else LOW if rank <= 5 else NORMAL
freeze_signal(asset, label, available_at=data_ready_time)
cohorts = build_size_matched_high_minus_low(signals)
reserve_budget_for_cohorts(cohorts)
on_next_session():
for order in eligible_orders:
apply_borrow_and_participation_limits(order)
execute_selected_model(order) # market or limit variant
on_predefined_deadline():
cancel_or_convert_unfilled_remainder()
on_cohort_horizon():
liquidate_with_same_declared_execution_model()
指値に達したからといって、約定したとは限らない
この論文には、指値注文とフォールバックルールを用いたTAQ実行演習(1993~1994)が含まれています。[1] これは、実行を慎重にテストする動機付けとなりますが、新しい実装において、表示された価格のすべての指値注文が約定することを保証するものではありません。
NYSEのTAQ製品は、統合された市場情報を含む取引と気配値を記述します。[2] こうした観測結果は、利用可能な価格を再構築するのに役立ちますが、指値での過去の取引は、個々の注文のキュー位置を明らかにしたり、十分な執行数量を保証したりするものではありません。
20.00での合成買い指値注文では、価格が20.80まで上昇する前に、20.00で小規模な取引が行われる可能性があります。注文が全額約定すると仮定すると、流動性へのアクセスを証明することなく、有利な結果が選択されることになります。逆に、下落相場では注文が容易に約定し、その後も下落が続くため、逆選択が生じる可能性があります。
同一の取引機会に対して、事前に宣言された2つの執行方法を比較します。シグナルが利用可能になった後の成行注文と、キャンセルまたは転換期限が固定された指値注文です。指値注文の場合は、適格気配値、キューまたは参加に関する前提条件、部分約定、およびフォールバック価格を指定します。
SECの注文種別資料は価格制約と約定の確実性を区別します。[3] 指値は許容価格を制限し、即時約定可能な注文はその時の市場条件での執行を優先します。どちらも不確実性をすべて消すものではありません。
逃した取引機会と約定した取引は分けて報告してください。約定した指値注文のみを評価すると、執行ルールが体系的に最も強い後続の動きを見逃しているのか、あるいはその後反転する出来事を優先的に約定させているのかが隠蔽される可能性があります。
合成プレミアム、コスト、そして失敗に終わったコホート
対応群で高出来高株を$10,000ロング、低出来高株を$10,000ショートとします。ロングが1.2%上がって$120、空売り対象の価格が0.4%下がって$40を得ます。粗利益$160は初期ロング想定元本一ドルあたり1.6%、口座自己資本$20,000に対しては0.8%です。
スプレッド費用を $70、手数料を $20、借入費用を $30、その他の明示的に特定された費用を $5 とします。総費用は $125 となり、$35 または 0.175% が $20,000 の自己資本分母に残ります。スプレッド費用が $70 から $130 に上昇した場合、総費用は $185 となり、純利益は −$25 となります。
失敗群ではロング対象が2%下がり、空売り対象が1%上がると、価格損失はコスト前で$300です。想定元本をそろえても業種・ベータ・流動性リスクをすべて消せず、平均プレミアムが正でもこの損失は起こり得ます。
確認した指値注文節は、特定の通常リターン計算の分岐で小型・中型群に0.89%と0.73%を報告しています。[1] その分岐と、ロング想定元本一ドルを分母とする定義を保持してください。普遍的月次収益、CAGR、全費用込みのポートフォリオ結果と呼び替えてはいけません。
シグナルとトレーディング設計を分離するテスト
まず、既知のシーケンス、同順位、欠落日、および分割イベントを用いて順位の計算を検証します。明示的にバージョン管理されたデータ修正を除き、将来のセッションを追加しても、以前に公開されたシグナルが変更されないことを確認します。これは、完成したチャートを検査するよりも強力な因果関係の検証方法です。
次に、同じ適格性および保有ルールに基づいて、高水準、通常水準、低水準のグループを比較します。差異を異常な取引量に起因するものと判断する前に、規模と流動性に関するコントロールを追加します。高水準グループに単に小型株や取引しにくい株が含まれている場合、見かけ上のプレミアムの一部はそうした銘柄へのエクスポージャーを反映している可能性があります。
日々のスキャン拡張機能は、元の重複しないスケジュールの複製とは別に保管してください。重複するポジションは、依存的な観測結果と異なる資本需要を生み出します。形成イベントの数、固有の金融商品、アクティブなコホート、および実現した口座回転率を報告してください。
最後に固定した後期間データで成行型と指値型の執行を検証します。手数料・借株・市場インパクトの仮定を含め、運用規模への感度を示し、粗プレミアムと口座純リターンを併記します。現実的コストで経済効果が消えれば、統計的シグナルとして興味深くても実行可能な戦略の根拠にはなりません。
過去の平均値がプラスだからといって、継続的な収益性を推測してはいけません。有用な成果は、事象の定義、市場環境、実施方法、不確実性の間の関係性を文書化したものであり、結果が失敗する条件も含みます。
よくある落とし穴
相対的な活動を絶対額最大の売買代金に置き換える
横断的な出来高ランキングは、各銘柄をその銘柄自身の過去の実績に基づいて順位付けするのとは異なる問いに答えるものである。
指値に触れただけで全数量約定とみなす
約定履歴があっても自分の注文の待ち行列優先度や利用可能数量は分かりません。全量約定の仮定は有利な執行を過大評価し得ます。
スプレッド調整済みプレミアムを完全にネットと呼ぶ
手数料、市場への影響、借入、資本要件は、報告対象となる執行作業の対象外となる場合がある。
この手法を使う前のチェックリスト
ご自身のデータで確認した項目にチェックを入れてください。進捗はこのブラウザに保存されますが、戦略の収益性を認定するものではありません。
よくある質問
形成日の価格は上昇して引ける必要がありますか?
基本的な出来高ランキングイベントには適用されません。プラスのリターンという条件は追加のフィルターであり、別途テストする必要があります。
50 日ごとではなく、毎日スキャンすることはできますか?
はい、新しいポートフォリオ設計として。日々のスキャンによって重複、依存関係、回転率、資本使用状況が変化するため、元のスケジュールを完全に再現するものではありません。
研究資料
各資料は、その横に記載された定義や根拠を支えています。擬似コード、架空の例、提案パラメータは別途検証が必要です。
- The High Volume Return PremiumSimon Gervais, Ron Kaniel, Dan Mingelgrin — working paper 17/12/1998. 1998年十二月17日付のワーキングペーパーをTAQ指値検証節も含めて確認。後の学術誌版と範囲・規約を区別しており、バックテストは再実行していません。 確認日: .
- Daily TAQNYSE / ICE. 取引・気配データの一次製品資料を確認。個々の注文の待ち行列順位を保証する資料ではありません。 確認日: .
- Understanding Order Types — Investor BulletinU.S. SEC — Investor.gov. 成行・ストップ・指値の仕組みを説明する一次投資家資料を確認。出来高プレミアムの実証ではありません。 確認日: .
関連する手法
リスクについて
この内容は学習と研究設計を目的とし、金融上の助言ではありません。Backtestは過去データのシミュレーションであり、将来の成果を保証せず、実際の売買注文も行いません。このライブラリの手法が、そのままアプリで利用できる機能とは限りません。関連情報: 検証方法 および 学習センター.
実際の資金を使う前にルールを検証する
アプリの対応範囲、データ、個々の模擬取引を確認してください。高度な検出手法は別途実装が必要な場合があります。
App StoreでBacktestをダウンロード