tradepose-models 1.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. tradepose_models/__init__.py +44 -0
  2. tradepose_models/auth/__init__.py +13 -0
  3. tradepose_models/auth/api_keys.py +52 -0
  4. tradepose_models/auth/auth.py +20 -0
  5. tradepose_models/base.py +57 -0
  6. tradepose_models/billing/__init__.py +33 -0
  7. tradepose_models/billing/checkout.py +17 -0
  8. tradepose_models/billing/plans.py +32 -0
  9. tradepose_models/billing/subscriptions.py +34 -0
  10. tradepose_models/billing/usage.py +71 -0
  11. tradepose_models/broker/__init__.py +34 -0
  12. tradepose_models/broker/account_config.py +93 -0
  13. tradepose_models/broker/account_models.py +61 -0
  14. tradepose_models/broker/binding.py +54 -0
  15. tradepose_models/broker/connection_status.py +14 -0
  16. tradepose_models/commands/__init__.py +8 -0
  17. tradepose_models/commands/trader_command.py +80 -0
  18. tradepose_models/datafeed/__init__.py +19 -0
  19. tradepose_models/datafeed/events.py +132 -0
  20. tradepose_models/enums/__init__.py +47 -0
  21. tradepose_models/enums/account_source.py +42 -0
  22. tradepose_models/enums/broker_type.py +21 -0
  23. tradepose_models/enums/currency.py +17 -0
  24. tradepose_models/enums/engagement_phase.py +47 -0
  25. tradepose_models/enums/execution_mode.py +16 -0
  26. tradepose_models/enums/export_type.py +23 -0
  27. tradepose_models/enums/freq.py +32 -0
  28. tradepose_models/enums/indicator_type.py +46 -0
  29. tradepose_models/enums/operation_type.py +19 -0
  30. tradepose_models/enums/order_strategy.py +47 -0
  31. tradepose_models/enums/orderbook_event_type.py +29 -0
  32. tradepose_models/enums/persist_mode.py +28 -0
  33. tradepose_models/enums/stream.py +14 -0
  34. tradepose_models/enums/task_status.py +23 -0
  35. tradepose_models/enums/trade_direction.py +42 -0
  36. tradepose_models/enums/trend_type.py +22 -0
  37. tradepose_models/enums/weekday.py +30 -0
  38. tradepose_models/enums.py +32 -0
  39. tradepose_models/events/__init__.py +11 -0
  40. tradepose_models/events/order_events.py +79 -0
  41. tradepose_models/export/__init__.py +19 -0
  42. tradepose_models/export/request.py +52 -0
  43. tradepose_models/export/requests.py +75 -0
  44. tradepose_models/export/task_metadata.py +97 -0
  45. tradepose_models/gateway/__init__.py +19 -0
  46. tradepose_models/gateway/responses.py +37 -0
  47. tradepose_models/indicators/__init__.py +56 -0
  48. tradepose_models/indicators/base.py +42 -0
  49. tradepose_models/indicators/factory.py +254 -0
  50. tradepose_models/indicators/market_profile.md +60 -0
  51. tradepose_models/indicators/market_profile.py +333 -0
  52. tradepose_models/indicators/market_profile_developer.md +1782 -0
  53. tradepose_models/indicators/market_profile_trading.md +1060 -0
  54. tradepose_models/indicators/momentum.py +53 -0
  55. tradepose_models/indicators/moving_average.py +63 -0
  56. tradepose_models/indicators/other.py +40 -0
  57. tradepose_models/indicators/trend.py +80 -0
  58. tradepose_models/indicators/volatility.py +57 -0
  59. tradepose_models/instruments/__init__.py +13 -0
  60. tradepose_models/instruments/instrument.py +87 -0
  61. tradepose_models/scheduler/__init__.py +9 -0
  62. tradepose_models/scheduler/results.py +49 -0
  63. tradepose_models/schemas/__init__.py +15 -0
  64. tradepose_models/schemas/enhanced_ohlcv.py +111 -0
  65. tradepose_models/schemas/performance.py +40 -0
  66. tradepose_models/schemas/trades.py +64 -0
  67. tradepose_models/schemas.py +34 -0
  68. tradepose_models/shared.py +15 -0
  69. tradepose_models/strategy/__init__.py +52 -0
  70. tradepose_models/strategy/base.py +56 -0
  71. tradepose_models/strategy/blueprint.py +55 -0
  72. tradepose_models/strategy/config.py +142 -0
  73. tradepose_models/strategy/entities.py +104 -0
  74. tradepose_models/strategy/helpers.py +173 -0
  75. tradepose_models/strategy/indicator_spec.py +531 -0
  76. tradepose_models/strategy/performance.py +66 -0
  77. tradepose_models/strategy/portfolio.py +171 -0
  78. tradepose_models/strategy/registry.py +249 -0
  79. tradepose_models/strategy/requests.py +33 -0
  80. tradepose_models/strategy/trigger.py +77 -0
  81. tradepose_models/trading/__init__.py +55 -0
  82. tradepose_models/trading/engagement.py +160 -0
  83. tradepose_models/trading/orderbook.py +73 -0
  84. tradepose_models/trading/orders.py +137 -0
  85. tradepose_models/trading/positions.py +78 -0
  86. tradepose_models/trading/trader_commands.py +138 -0
  87. tradepose_models/trading/trades_execution.py +27 -0
  88. tradepose_models/types.py +35 -0
  89. tradepose_models/utils/__init__.py +13 -0
  90. tradepose_models/utils/rate_converter.py +112 -0
  91. tradepose_models/validators.py +32 -0
  92. tradepose_models-1.1.0.dist-info/METADATA +633 -0
  93. tradepose_models-1.1.0.dist-info/RECORD +94 -0
  94. tradepose_models-1.1.0.dist-info/WHEEL +4 -0
@@ -0,0 +1,1060 @@
1
+ # Market Profile 策略指南
2
+
3
+ > **其他文件**: 如需了解 Market Profile 的 API 使用與程式配置,請參閱 [開發者指南](./market_profile_developer.md)
4
+
5
+ ## 目錄
6
+
7
+ - [概述](#概述)
8
+ - [核心概念](#核心概念)
9
+ - [日型分類 (Day Types)](#日型分類-day-types)
10
+ - [市場循環理論 (Market Cycle Theory)](#市場循環理論-market-cycle-theory)
11
+ - [Profile 形狀 (Profile Shapes)](#profile-形狀-profile-shapes)
12
+ - [形狀識別與交易策略](#形狀識別與交易策略)
13
+ - [參考資料](#參考資料)
14
+
15
+ ---
16
+
17
+ ## 概述
18
+
19
+ Market Profile 是一種基於 **TPO (Time Price Opportunity)** 的價格分布分析工具,由 J. Peter Steidlmayer 於 1980 年代開發。它透過識別市場參與者的行為特徵和關鍵價格水平,幫助交易者理解市場結構。
20
+
21
+ ### 核心價值
22
+
23
+ - **POC (Point of Control)**: 識別市場最認同的價格水平(最強的支撐/阻力)
24
+ - **Value Area**: 定義 70% TPO 集中的「公平價值區間」
25
+ - **Profile Shape**: 識別市場狀態(趨勢、反轉、區間)
26
+
27
+ ---
28
+
29
+ ## 核心概念
30
+
31
+ ### TPO (Time Price Opportunity)
32
+
33
+ **定義**: 每個時間段(kbar)在其 `[low, high]` 價格範圍內按 `tick_size` 生成的價格層級計數。
34
+
35
+ **計算方式**:
36
+ ```python
37
+ # 對於每根 K 線
38
+ low_level = round(low / tick_size)
39
+ high_level = round(high / tick_size)
40
+
41
+ # 每個價格層級獲得 +1 TPO
42
+ for level in range(low_level, high_level + 1):
43
+ tpo_count[level] += 1
44
+ ```
45
+
46
+ **範例**:
47
+ ```
48
+ K 線: low=100.00, high=100.50, tick_size=0.10
49
+
50
+ 生成的 TPO:
51
+ - level 1000 (100.00): +1
52
+ - level 1001 (100.10): +1
53
+ - level 1002 (100.20): +1
54
+ - level 1003 (100.30): +1
55
+ - level 1004 (100.40): +1
56
+ - level 1005 (100.50): +1
57
+
58
+ 總共: 6 個 TPO
59
+ ```
60
+
61
+ **視覺化**:
62
+ ```
63
+ 價格 TPO 分布
64
+ 100.50 █
65
+ 100.40 ██
66
+ 100.30 ████ ← 更多 TPO = 更高市場接受度
67
+ 100.20 █████ ← POC (最多 TPO)
68
+ 100.10 ███
69
+ 100.00 █
70
+ ```
71
+
72
+ ### POC (Point of Control)
73
+
74
+ **定義**: TPO 計數最多的價格層級,代表市場最認同的價格。
75
+
76
+ **交易意義**:
77
+ - **強支撐/阻力**: 市場參與者在此價格最活躍
78
+ - **磁吸效應**: 價格傾向回到 POC
79
+ - **突破信號**: 價格遠離 POC 表示趨勢形成
80
+
81
+ **確定性保證**: 當多個層級有相同最大 TPO 計數時,選擇**最低價格層級**(保守原則),確保相同輸入永遠產生相同結果(回測可重現)。
82
+
83
+ **範例**:
84
+ ```python
85
+ # TPO 分布
86
+ tpo_count = {
87
+ 1000: 3,
88
+ 1001: 5, # 最大
89
+ 1002: 5, # 最大(tied)
90
+ 1003: 4
91
+ }
92
+
93
+ # POC = level 1001 (100.10) - 選擇最低的層級
94
+ ```
95
+
96
+ ### Value Area (VA)
97
+
98
+ **定義**: 包含 70%(預設)TPO 計數的價格範圍,由 VAH(上界)和 VAL(下界)定義。
99
+
100
+ **擴展算法**:
101
+ 1. 從 POC 開始
102
+ 2. 向上下兩側擴展
103
+ 3. 每次優先選擇 TPO 較多的方向
104
+ 4. 直到累積 TPO ≥ 目標百分比(70%)
105
+
106
+ **交易意義**:
107
+ - **VAH (Value Area High)**: 阻力,價格突破表示強勢
108
+ - **VAL (Value Area Low)**: 支撐,價格跌破表示弱勢
109
+ - **VA 內**: 公平價值區間,適合區間交易
110
+ - **VA 外**: 價格偏離,可能反轉或趨勢延續
111
+
112
+ **範例**:
113
+ ```
114
+ 總 TPO = 14, 目標 70% = 10
115
+
116
+ 擴展過程:
117
+ 1. 起始: va_levels=[1002], count=5
118
+ 2. 上方 1003(4) vs 下方 1001(2) → 選上方
119
+ va_levels=[1002,1003], count=9
120
+ 3. 上方 1004(2) vs 下方 1001(2) → 選上方(相等時選上方)
121
+ va_levels=[1002,1003,1004], count=11 ≥ 10 ✓
122
+
123
+ 結果:
124
+ - VAH = 1004 * 0.10 = 100.40
125
+ - VAL = 1002 * 0.10 = 100.20
126
+ - Value Area = 0.20
127
+ ```
128
+
129
+ ### Anchor Segmentation (時間窗口分段)
130
+
131
+ **定義**: 將時間序列劃分為固定窗口,每個窗口計算獨立的 Market Profile。
132
+
133
+ **固定窗口語義** (ADR-052 v3.0):
134
+ - 每 `lookback_days` 個 anchor 創建一個 segment
135
+ - Segments 之間**無重疊數據**
136
+ - 確保 TPO 計算不會重複計算相同的 K 線
137
+
138
+ **範例**:
139
+ ```python
140
+ # 每日 09:15 anchor, lookback=1
141
+ # - Wed 09:15 的 segment = [Tue 09:15, Wed 09:15)
142
+ # - Thu 09:15 的 segment = [Wed 09:15, Thu 09:15)
143
+ # 每個 segment 包含 24 小時的數據
144
+
145
+ anchor = create_daily_anchor(hour=9, minute=15, lookback_days=1)
146
+ ```
147
+
148
+ #### Daily Anchor 的反直覺特性
149
+
150
+ **重要**: Daily anchor 並非「每天都會有值」,而是「每 N 天一次」。
151
+
152
+ ```python
153
+ # 常見誤解: lookback_days=3 表示「過去 3 天」
154
+ anchor = create_daily_anchor(hour=9, minute=15, lookback_days=3)
155
+
156
+ # 實際行為: 每 3 天觸發一次計算
157
+ # - Mon 09:15: 計算 segment(包含 Fri 09:15 ~ Mon 09:15 數據)
158
+ # - Tue 09:15: 無值(不重疊)
159
+ # - Wed 09:15: 無值(不重疊)
160
+ # - Thu 09:15: 計算 segment(包含 Mon 09:15 ~ Thu 09:15 數據)
161
+ ```
162
+
163
+ **如何實現「每天都有 Market Profile」?**
164
+
165
+ ```python
166
+ # ✅ 方案 1: lookback_days=1(24 小時滾動窗口)
167
+ anchor = create_daily_anchor(hour=9, minute=15, lookback_days=1)
168
+ # - Mon 09:15: 計算 [Fri 09:15, Mon 09:15)
169
+ # - Tue 09:15: 計算 [Mon 09:15, Tue 09:15)
170
+ # - Wed 09:15: 計算 [Tue 09:15, Wed 09:15)
171
+ # 每天都有值 ✓
172
+
173
+ # ❌ 方案 2: lookback_days=3(每 3 天一次)
174
+ # 只有 Mon, Thu, Sun, ... 有值,中間 2 天為空
175
+ ```
176
+
177
+ #### Weekly Anchor 解決多天窗口問題
178
+
179
+ **問題**: 如果想要「每天都有過去 5 天的 Market Profile」,使用 daily anchor 無法實現(因為不重疊)。
180
+
181
+ **解決方案**: 創建 5 個 weekly anchor 指標,錯開觸發日。
182
+
183
+ ```python
184
+ from tradepose_models.enums import Weekday
185
+
186
+ # 創建 5 個指標,分別在週一~週五觸發,每個回溯 5 天
187
+ indicators = [
188
+ MarketProfileIndicator(
189
+ anchor_config=create_weekly_anchor(Weekday.MON, 9, 15, lookback_days=5),
190
+ tick_size=0.01
191
+ ),
192
+ MarketProfileIndicator(
193
+ anchor_config=create_weekly_anchor(Weekday.TUE, 9, 15, lookback_days=5),
194
+ tick_size=0.01
195
+ ),
196
+ MarketProfileIndicator(
197
+ anchor_config=create_weekly_anchor(Weekday.WED, 9, 15, lookback_days=5),
198
+ tick_size=0.01
199
+ ),
200
+ MarketProfileIndicator(
201
+ anchor_config=create_weekly_anchor(Weekday.THU, 9, 15, lookback_days=5),
202
+ tick_size=0.01
203
+ ),
204
+ MarketProfileIndicator(
205
+ anchor_config=create_weekly_anchor(Weekday.FRI, 9, 15, lookback_days=5),
206
+ tick_size=0.01
207
+ ),
208
+ ]
209
+
210
+ # 結果:
211
+ # - 週一 09:15: 第 1 個指標觸發(Wed 上週 ~ Mon 本週,5 天數據)
212
+ # - 週二 09:15: 第 2 個指標觸發(Thu 上週 ~ Tue 本週,5 天數據)
213
+ # - 週三 09:15: 第 3 個指標觸發(Fri 上週 ~ Wed 本週,5 天數據)
214
+ # - 週四 09:15: 第 4 個指標觸發(Mon 本週 ~ Thu 本週,5 天數據)
215
+ # - 週五 09:15: 第 5 個指標觸發(Tue 本週 ~ Fri 本週,5 天數據)
216
+
217
+ # 合併 5 個結果到同一個 DataFrame,使用 coalesce 選擇非空值
218
+ df = df.with_columns([
219
+ pl.coalesce([
220
+ pl.col("mp_mon"),
221
+ pl.col("mp_tue"),
222
+ pl.col("mp_wed"),
223
+ pl.col("mp_thu"),
224
+ pl.col("mp_fri"),
225
+ ]).alias("mp_5day")
226
+ ])
227
+ ```
228
+
229
+ **為什麼需要這樣設計?**
230
+ - 避免數據重疊: 如果允許重疊,TPO 計算會重複計算同一根 K 線,結果不正確
231
+ - 計算效率: 只在需要時計算,避免每根 K 線都計算導致性能問題
232
+ - 語義清晰: 每個 segment 代表獨立的時間窗口,不會混淆
233
+
234
+ ---
235
+
236
+ ## 日型分類 (Day Types)
237
+
238
+ ### 概述
239
+
240
+ Market Profile 日型分類基於 **Initial Balance (IB)** 和 **Range Extension** 的關係,幫助交易者識別當日市場結構並調整策略。
241
+
242
+ **Initial Balance (IB)** 定義:交易日第一小時(前兩個 30 分鐘時段)的價格範圍,為當日交易設定基準。
243
+
244
+ **核心邏輯**:
245
+ - **寬 IB** → 傾向於 Range-Bound Day(區間日)
246
+ - **窄 IB** → 傾向於 Trending Day(趨勢日)
247
+ - **Range Extension** 的方向和幅度決定具體日型
248
+
249
+ ### 非趨勢日型(約 80-90% 的交易日)
250
+
251
+ #### 1. Normal Day(常規日)
252
+
253
+ **定義**:85%+ 的日波幅在 Initial Balance 內形成。
254
+
255
+ **特徵**:
256
+ - **IB 寬度**:寬(Wide IB)
257
+ - **Range Extension**:極少或無
258
+ - **出現頻率**:~2.43%(罕見,名稱具誤導性)
259
+ - **市場含義**:短線交易者主導,買賣雙方早盤即達成價值共識
260
+
261
+ **視覺特徵**:
262
+ ```
263
+ 價格 TPO 分布
264
+ 105 A
265
+ 104 AB
266
+ 103 ABCDEF ← IB 範圍內集中
267
+ 102 ABCDEFGH ← POC
268
+ 101 ABCDEF
269
+ 100 AB
270
+ 99 A
271
+ ```
272
+
273
+ **交易策略**:區間交易,在 IB High 做空、IB Low 做多。
274
+
275
+ ---
276
+
277
+ #### 2. Normal Variation Day(常規變異日)
278
+
279
+ **定義**:IB 被單向突破,但 Range Extension < 2 倍 IB。
280
+
281
+ **特徵**:
282
+ - **IB 寬度**:中等
283
+ - **Range Extension**:有,但 < 2x IB
284
+ - **出現頻率**:~30-40%(高)
285
+ - **市場含義**:大時間框架交易者(OTF)在 IB 建立後進場,單向推動
286
+
287
+ **視覺特徵**:
288
+ ```
289
+ 價格 TPO 分布
290
+ 108 EF ← Range Extension
291
+ 107 DEF
292
+ 106 CDEF
293
+ 105 BCDEF
294
+ 104 ABCDE ← IB High
295
+ 103 ABCD ← IB 範圍
296
+ 102 ABC ← IB Low
297
+ 101 AB
298
+ ```
299
+
300
+ **交易策略**:跟隨 Range Extension 方向,在突破 IB 後進場。
301
+
302
+ ---
303
+
304
+ #### 3. Neutral Day(中立日)
305
+
306
+ **定義**:IB High 和 IB Low 都被突破,收盤在區間中間。
307
+
308
+ **特徵**:
309
+ - **IB 寬度**:中等
310
+ - **Range Extension**:雙向都有
311
+ - **出現頻率**:~30.21%
312
+ - **市場含義**:買賣雙方都活躍但無勝者,雙向拉鋸
313
+
314
+ **視覺特徵**:
315
+ ```
316
+ 價格 TPO 分布
317
+ 107 EF ← 上方 Range Extension
318
+ 106 DEF
319
+ 105 CDEF ← IB High
320
+ 104 ABCDEFGH ← IB 範圍(收盤區域)
321
+ 103 ABCDEF ← IB Low
322
+ 102 CDE
323
+ 101 D ← 下方 Range Extension
324
+ ```
325
+
326
+ **交易策略**:預期反轉;當極端被觸及時考慮逆向交易。
327
+
328
+ ---
329
+
330
+ #### 4. Neutral Extreme Day(中立極端日)
331
+
332
+ **定義**:類似 Neutral Day,但收盤偏向一端。
333
+
334
+ **特徵**:
335
+ - **IB 寬度**:中等
336
+ - **Range Extension**:雙向都有
337
+ - **市場含義**:收盤方向那一方獲勝,預示次日延續
338
+
339
+ **與 Neutral Day 區別**:收盤位置。Neutral Day 收盤在中間,Neutral Extreme 收盤在極端。
340
+
341
+ **交易策略**:預期次日按收盤方向延續。
342
+
343
+ ---
344
+
345
+ #### 5. Non-Trend Day(無趨勢日)
346
+
347
+ **定義**:窄波幅、寬 Profile、無明確方向。
348
+
349
+ **特徵**:
350
+ - **IB 寬度**:窄
351
+ - **Range Extension**:無或極少
352
+ - **出現頻率**:常見於重大新聞前
353
+ - **市場含義**:市場等待新信息,交易活動低迷
354
+
355
+ **視覺特徵**:
356
+ ```
357
+ 價格 TPO 分布
358
+ 102 ABCDEFGHIJ ← 扁平寬厚
359
+ 101 ABCDEFGHIJ ← 所有時段都在窄區間
360
+ 100 ABCDEFGHIJ
361
+ ```
362
+
363
+ **交易策略**:避免交易,等待突破或新信息。通常「預示大行情」。
364
+
365
+ ---
366
+
367
+ ### 趨勢日型(約 5-10% 的交易日)
368
+
369
+ #### 6. Trend Day(趨勢日)
370
+
371
+ **定義**:持續單向移動,開盤在一端、收盤在另一端。
372
+
373
+ **特徵**:
374
+ - **IB 寬度**:窄(Narrow IB)
375
+ - **Range Extension**:大,持續延伸
376
+ - **出現頻率**:~5-10%
377
+ - **市場含義**:大時間框架交易者從開盤即主導,強勢定向市場
378
+ - **識別特徵**:One-Timeframing(連續更高高/更低低)
379
+
380
+ **視覺特徵**:
381
+ ```
382
+ 價格 TPO 分布
383
+ 110 IJ ← 收盤區域
384
+ 109 HIJ
385
+ 108 GHI
386
+ 107 FGH ← 細長垂直
387
+ 106 EFG
388
+ 105 DEF
389
+ 104 CDE
390
+ 103 BCD
391
+ 102 ABC
392
+ 101 AB ← IB(窄)
393
+ 100 A ← 開盤區域
394
+ ```
395
+
396
+ **識別條件**:
397
+ - IB < 20% 日波幅
398
+ - 每層 TPO ≤ 5 個
399
+ - 連續 30 分鐘時段維持同一方向(One-Timeframing)
400
+
401
+ **交易策略**:
402
+ - 順勢交易,避免逆勢
403
+ - 在 11:30 前識別出 Trend Day 後跟隨方向
404
+ - 不要在 Trend Day 做區間交易
405
+
406
+ ---
407
+
408
+ #### 7. Double Distribution Day(雙分佈日)
409
+
410
+ **定義**:形成兩個獨立的價值區域,中間由 Single Prints 分隔。
411
+
412
+ **特徵**:
413
+ - **IB 寬度**:窄
414
+ - **Range Extension**:大
415
+ - **出現頻率**:與 Trend Day 合計 ~9.54%
416
+ - **市場含義**:新聞/事件驅動價值突然轉移
417
+
418
+ **視覺特徵**:
419
+ ```
420
+ 價格 TPO 分布
421
+ 112 GHIJ ← 第二分佈區(新價值區)
422
+ 111 GHIJ
423
+ 110 GHI
424
+ 109 G ← Single Prints(分隔區)
425
+ 108 F
426
+ 107 EF
427
+ 106 DEF ← 第一分佈區(原價值區)
428
+ 105 CDEF
429
+ 104 BCDE
430
+ 103 ABCD ← IB
431
+ 102 ABC
432
+ ```
433
+
434
+ **形成過程**:
435
+ 1. 開盤形成第一個分佈區(Initial Balance 附近)
436
+ 2. 新聞或大單驅動價格快速轉移
437
+ 3. 在新價格區域形成第二個分佈區
438
+ 4. 兩個分佈區之間由 Single Prints 分隔
439
+
440
+ **交易策略**:
441
+ - 在狹窄 IB 突破後進場
442
+ - Single Prints 區域可作為支撐/阻力
443
+
444
+ ---
445
+
446
+ ### 日型統計頻率表
447
+
448
+ | 日型 | 出現頻率 | IB 寬度 | Range Extension | 市場狀態 |
449
+ |------|---------|--------|-----------------|----------|
450
+ | Normal Day | ~2.43% | 寬 | 無/極少 | 平衡 |
451
+ | Normal Variation | ~30-40% | 中等 | 有,<2x IB | 輕度不平衡 |
452
+ | Trend Day | ~5-10% | 窄 | 大,持續 | 強烈不平衡 |
453
+ | Double Distribution | ~4-5% | 窄 | 大 | 價值轉移 |
454
+ | Neutral Day | ~30.21% | 中等 | 雙向 | 雙向拉鋸 |
455
+ | Neutral Extreme | (含在 Neutral) | 中等 | 雙向 | 一方獲勝 |
456
+ | Non-Trend Day | 常見 | 窄 | 無 | 等待信息 |
457
+
458
+ **關鍵統計**:
459
+ - 平衡日(非趨勢):~80-90%
460
+ - 趨勢日:~5-10%
461
+ - Normal + Trend + Normal Variation 合計:~81.52%
462
+
463
+ ---
464
+
465
+ ## 市場循環理論 (Market Cycle Theory)
466
+
467
+ ### Balance vs Imbalance(平衡與不平衡)
468
+
469
+ 市場永遠處於以下兩種狀態之一:
470
+
471
+ #### 平衡市場(Balanced Market)
472
+
473
+ **定義**:價格在特定範圍內輪動,買賣雙方對「公平價值」達成共識。
474
+
475
+ **特徵**:
476
+ - 鐘型 Profile 分佈
477
+ - 價格在 Value Area 內震盪
478
+ - 低波動,雙向拍賣
479
+ - 對應日型:Normal Day、Neutral Day
480
+
481
+ **視覺化**:
482
+ ```
483
+ 價格在 VA 內輪動:
484
+ ┌─────────────────┐
485
+ │ Value Area │
486
+ │ ← Price ←→ → │
487
+ └─────────────────┘
488
+ ```
489
+
490
+ #### 不平衡市場(Imbalanced Market)
491
+
492
+ **定義**:買方或賣方主導,價格單向移動尋找新價值區域。
493
+
494
+ **特徵**:
495
+ - 細長垂直 Profile
496
+ - 單側 Range Extension
497
+ - 高波動,單向拍賣
498
+ - 對應日型:Trend Day、Double Distribution Day
499
+
500
+ **視覺化**:
501
+ ```
502
+ 價格搜尋新價值:
503
+ ┌─────────────────┐
504
+ │ Old Value Area │
505
+ └────────┬────────┘
506
+ │ Price Discovery
507
+
508
+ ┌─────────────────┐
509
+ │ New Value Area │
510
+ └─────────────────┘
511
+ ```
512
+
513
+ ---
514
+
515
+ ### AMT(Auction Market Theory)循環
516
+
517
+ 市場在平衡與不平衡之間不斷循環:
518
+
519
+ ```
520
+ ┌─────────────────────────────────────────────────────────┐
521
+ │ │
522
+ │ Balance (平衡) │
523
+ │ └─ 水平發展,買賣雙方價值共識 │
524
+ │ └─ Profile: 鐘型 │
525
+ │ └─ Day Type: Normal, Neutral │
526
+ │ │
527
+ │ │ │
528
+ │ │ 新信息 / 催化劑 │
529
+ │ ▼ │
530
+ │ │
531
+ │ Imbalance (不平衡) │
532
+ │ └─ 垂直發展,價格搜尋新價值 │
533
+ │ └─ Profile: 細長 │
534
+ │ └─ Day Type: Trend, Double Distribution │
535
+ │ │
536
+ │ │ │
537
+ │ │ 發現新價值 / 動能耗盡 │
538
+ │ ▼ │
539
+ │ │
540
+ │ New Balance (新平衡) │
541
+ │ └─ 在新價格區域建立共識 │
542
+ │ └─ 循環重複 │
543
+ │ │
544
+ └─────────────────────────────────────────────────────────┘
545
+ ```
546
+
547
+ ---
548
+
549
+ ### Steidlmayer 四步循環
550
+
551
+ J. Peter Steidlmayer 將市場運動分為四個階段:
552
+
553
+ #### 1. Trend Phase(趨勢階段)
554
+ - **特徵**:垂直發展,價格失衡
555
+ - **Profile**:細長,單向延伸
556
+ - **日型**:Trend Day、Double Distribution Day
557
+
558
+ #### 2. Stop Phase(停止階段)
559
+ - **特徵**:反向交易者出現,趨勢被阻止
560
+ - **Profile**:開始形成上下限
561
+ - **信號**:P-shape 或 b-shape 形成
562
+
563
+ #### 3. Sideways Phase(橫盤階段)
564
+ - **特徵**:水平發展,在新範圍內輪動
565
+ - **Profile**:鐘型分佈
566
+ - **日型**:Normal Day、Neutral Day
567
+
568
+ #### 4. Transition Phase(過渡階段)
569
+ - **特徵**:價格離開範圍,產生新失衡
570
+ - **可能結果**:趨勢延續或反轉
571
+ - **信號**:Range Extension 突破
572
+
573
+ ---
574
+
575
+ ### Wyckoff 四階段循環(宏觀視角)
576
+
577
+ Market Profile 形狀與 Wyckoff 市場循環的對應關係:
578
+
579
+ ```
580
+ ┌──────────────────────────────────────────────────────────┐
581
+ │ │
582
+ │ 1. Accumulation (積累) │
583
+ │ └─ 大戶在低位吸籌 │
584
+ │ └─ Profile: P-shape (空頭回補) │
585
+ │ └─ 信號: 看漲 │
586
+ │ │ │
587
+ │ ▼ │
588
+ │ 2. Markup (上漲) │
589
+ │ └─ 需求超過供給,價格上升 │
590
+ │ └─ Profile: Trend Day (Up) │
591
+ │ └─ 特徵: 垂直發展 │
592
+ │ │ │
593
+ │ ▼ │
594
+ │ 3. Distribution (分配) │
595
+ │ └─ 大戶在高位派發 │
596
+ │ └─ Profile: b-shape (多頭平倉) │
597
+ │ └─ 信號: 看跌 │
598
+ │ │ │
599
+ │ ▼ │
600
+ │ 4. Markdown (下跌) │
601
+ │ └─ 供給超過需求,價格下降 │
602
+ │ └─ Profile: Trend Day (Down) │
603
+ │ └─ 特徵: 垂直發展 │
604
+ │ │ │
605
+ │ ▼ │
606
+ │ [循環重複回到 Accumulation] │
607
+ │ │
608
+ └──────────────────────────────────────────────────────────┘
609
+ ```
610
+
611
+ ---
612
+
613
+ ### 日型與循環的對應關係
614
+
615
+ | 循環階段 | Profile Shape | 日型 | 市場行為 |
616
+ |----------|---------------|------|----------|
617
+ | Accumulation | P-shape | Non-Trend → Normal Variation | 低位吸籌,準備上漲 |
618
+ | Markup | Trend (Up) | Trend Day | 強勢上漲 |
619
+ | Distribution | b-shape | Non-Trend → Normal Variation | 高位派發,準備下跌 |
620
+ | Markdown | Trend (Down) | Trend Day | 強勢下跌 |
621
+ | Consolidation | D-shape | Normal, Neutral | 橫盤整理 |
622
+
623
+ **關鍵洞察**:
624
+ - **P-shape 和 b-shape 是「舊業務」(Old Business)**:既有部位平倉
625
+ - **需要「新業務」(New Business)才能延續為 Trend Day**:新參與者進場
626
+ - **如果沒有新業務**:市場回歸 Balance(Normal/Neutral Day)
627
+
628
+ ---
629
+
630
+ ## Profile 形狀 (Profile Shapes)
631
+
632
+ ### 四種基本形狀
633
+
634
+ #### D-Shape(D型)- 平衡
635
+
636
+ **視覺**:對稱鐘型,像字母 "D"
637
+
638
+ ```
639
+ 價格 TPO
640
+ 105 AB
641
+ 104 ABCD
642
+ 103 ABCDEF ← POC
643
+ 102 ABCD
644
+ 101 AB
645
+ ```
646
+
647
+ **含義**:
648
+ - 平衡市場,價值被接受
649
+ - 買賣雙方力量均衡
650
+ - 對應日型:Normal Day
651
+
652
+ **交易策略**:等待突破,或在 VA 內做區間交易。
653
+
654
+ ---
655
+
656
+ #### P-Shape(P型)- 空頭回補
657
+
658
+ **視覺**:下窄上寬,像字母 "P"
659
+
660
+ ```
661
+ 價格 TPO
662
+ 105 DEFGH ← bulge(寬)
663
+ 104 DEFGH
664
+ 103 CDE
665
+ 102 BC ← stem(窄)
666
+ 101 AB
667
+ 100 A
668
+ ```
669
+
670
+ **含義**:
671
+ - Short Covering(空頭回補)
672
+ - Old Business(舊業務)
673
+ - 開盤在低位,早盤上漲,高位盤整
674
+
675
+ **信號**:看漲
676
+
677
+ ---
678
+
679
+ #### b-Shape(b型)- 多頭平倉
680
+
681
+ **視覺**:上窄下寬,像字母 "b"
682
+
683
+ ```
684
+ 價格 TPO
685
+ 105 A
686
+ 104 AB ← stem(窄)
687
+ 103 BC
688
+ 102 CDE
689
+ 101 DEFGH ← bulge(寬)
690
+ 100 DEFGH
691
+ ```
692
+
693
+ **含義**:
694
+ - Long Liquidation(多頭平倉)
695
+ - Old Business(舊業務)
696
+ - 開盤在高位,早盤下跌,低位盤整
697
+
698
+ **信號**:看跌
699
+
700
+ ---
701
+
702
+ #### B-Shape(B型)- 雙分佈
703
+
704
+ **視覺**:兩個分佈區域,中間凹陷,像大寫 "B"
705
+
706
+ ```
707
+ 價格 TPO
708
+ 108 GHIJ ← 上方分佈
709
+ 107 GHIJ
710
+ 106 GH ← 凹陷區(Single Prints)
711
+ 105 F
712
+ 104 CDEF ← 下方分佈
713
+ 103 BCDE
714
+ 102 ABC
715
+ ```
716
+
717
+ **含義**:
718
+ - Double Distribution(雙分佈)
719
+ - 價值突然轉移
720
+ - 對應日型:Double Distribution Day
721
+
722
+ **交易策略**:在兩個 POC 之間操作,Single Prints 區域作為支撐/阻力。
723
+
724
+ ---
725
+
726
+ ### 形狀與市場狀態對照
727
+
728
+ | 形狀 | 市場狀態 | 形成機制 | 交易信號 |
729
+ |------|----------|----------|----------|
730
+ | D-Shape | 平衡 | 供需均衡 | 等待突破 |
731
+ | P-Shape | 空頭回補 | 舊業務平倉 | 看漲 |
732
+ | b-Shape | 多頭平倉 | 舊業務平倉 | 看跌 |
733
+ | B-Shape | 價值轉移 | 新聞/事件驅動 | 區間操作 |
734
+
735
+ ---
736
+
737
+ ## 形狀識別與交易策略
738
+
739
+ ### 實驗性功能警告
740
+
741
+ **狀態**: BETA - 算法可能在未來版本中變更
742
+
743
+ **準確度**: 尚未在大規模市場數據上驗證
744
+
745
+ **行業差距**: 無開源參考實現存在(根據 KB-006 研究)
746
+
747
+ **當前限制**:
748
+ 1. ❌ **Single Prints 檢測**未實現(業界 72% 方向準確度特徵)
749
+ 2. ❌ **TPO 密度分析**未實現(業界標準: ≤5 TPOs/層級)
750
+ 3. ❌ **統計分布測試**未實現(偏度/峰度)
751
+
752
+ **建議**:
753
+ - ⚠️ 在生產交易中謹慎使用
754
+ - ✅ 根據您的特定市場數據驗證
755
+ - ✅ 將形狀視為**補充信號**,而非主要信號
756
+ - ✅ 預設參數基於行業標準,但可能需要調整
757
+
758
+ 詳見 **ADR-060** 和 **KB-006** 了解詳細算法文件。
759
+
760
+ ### Profile Shape 類型詳解
761
+
762
+ #### 1. P-Shaped (P型) - 看漲信號(Short Covering)
763
+
764
+ **結構**: 下窄上寬,像字母 "P"
765
+
766
+ **形成機制**: Short Covering(空頭回補)
767
+ - **本質**: Old Business(舊業務)- 既有空頭平倉,而非新買家進場
768
+ - **前置條件**: 通常跟隨一個或多個下跌日(市場過度做空)
769
+
770
+ **視覺特徵**:
771
+ ```
772
+ 價格 TPO 分布
773
+ 1010 CDEFGH ← 高位盤整區(bulge,寬)
774
+ 1009 CDEFGH
775
+ 1008 CDEFGH
776
+ 1007 C
777
+ 1006 C ← 快速上漲區域
778
+ 1005 B
779
+ 1004 AB ← 早期低位開盤(stem/tail,窄)
780
+ 1003 AB
781
+ 1002 A ← 開盤在低位,空頭被迫回補
782
+ 1001 A ← Single Print Buying Tail
783
+ ```
784
+
785
+ **時間序列特徵**:
786
+ - **開盤位置**: 開盤在低位(near the low)
787
+ - **早盤**: 價格從低位快速上漲(空頭被迫回補,形成 stem)
788
+ - **晚盤**: 上漲後在高位盤整/分配(distributing,形成 bulge)
789
+ - **結果**: 形成下窄上寬的 "P" 形狀
790
+
791
+ **交易含義**:
792
+ - **市場狀態**: 空頭回補,可能是下跌趨勢結束的信號
793
+ - **信號方向**: 看漲信號(Bullish signal)
794
+ - **語義解讀**:
795
+ - 在下跌趨勢中出現 → 可能標誌趨勢結束/反轉
796
+ - 在上漲趨勢中出現 → 趨勢延續信號
797
+ - **策略**: POC 是良好的支撐區域,回調到 POC 可考慮做多
798
+ - **注意**: 空頭回補是「暫時性強勢」,需要「新業務」(New Business)才能延續突破
799
+
800
+ #### 2. b-Shaped (b型) - 看跌信號(Long Liquidation)
801
+
802
+ **結構**: 上窄下寬,像小寫字母 "b"
803
+
804
+ **形成機制**: Long Liquidation(多頭平倉)
805
+ - **本質**: Old Business(舊業務)- 既有多頭離場,而非新賣家進場
806
+ - **前置條件**: 通常跟隨一個或多個上漲日(市場過度做多)
807
+
808
+ **視覺特徵**:
809
+ ```
810
+ 價格 TPO 分布
811
+ 1010 A ← Single Print Selling Tail
812
+ 1009 A ← 開盤在高位,多頭被迫平倉
813
+ 1008 AB ← 早期高位開盤(stem/tail,窄)
814
+ 1007 AB
815
+ 1006 B ← 快速下跌區域
816
+ 1005 C
817
+ 1004 CDEFGH ← 低位盤整區(bulge,寬)
818
+ 1003 CDEFGH
819
+ 1002 CDEFGH
820
+ 1001 CDEFGH
821
+ ```
822
+
823
+ **時間序列特徵**:
824
+ - **開盤位置**: 開盤在高位(near the high / top of the profile)
825
+ - **早盤**: 價格從高位快速下跌(多頭被迫平倉,形成 stem)
826
+ - **晚盤**: 下跌後在低位盤整/分配(distributing,形成 bulge)
827
+ - **結果**: 形成上窄下寬的 "b" 形狀
828
+
829
+ **交易含義**:
830
+ - **市場狀態**: 多頭平倉,可能是上漲趨勢結束的信號
831
+ - **信號方向**: 看跌信號(Bearish signal)
832
+ - **語義解讀**:
833
+ - 在上漲趨勢中出現 → 可能標誌趨勢結束/反轉
834
+ - 在下跌趨勢中出現 → 趨勢延續信號(consolidation before continuation)
835
+ - **策略**: POC 是良好的阻力區域,反彈到 POC 可考慮做空
836
+ - **注意**: 多頭平倉是「暫時性弱勢」,需要「新業務」(New Business)才能延續突破
837
+
838
+ #### 3. Trend Day (趨勢日) - 趨勢市場
839
+
840
+ **結構**: 持續單向移動
841
+
842
+ **視覺特徵**:
843
+ ```
844
+ 價格 TPO 分布
845
+ 1010 FGHIJK ← 晚期高位(上漲趨勢)
846
+ 1009 EFGHIJK
847
+ 1008 DEFGH
848
+ 1007 CDE
849
+ 1006 CD
850
+ 1005 C
851
+ 1004 B
852
+ 1003 AB ← 小 Initial Balance
853
+ 1002 AB
854
+ 1001 A ← 早期低位
855
+ ```
856
+
857
+ **識別條件**(三者必須同時滿足):
858
+
859
+ 1. **小 Initial Balance (IB)**: IB < 20% 總範圍
860
+ 2. **單向移動**: 60%+ 時段維持同一方向
861
+ 3. **TPO 不平衡**: 70%+ TPO 集中在早期或晚期
862
+
863
+ **行業標準特徵**(部分未實現):
864
+ - ✅ 小 Initial Balance (< 20% 範圍)
865
+ - ✅ 單向價格擴展
866
+ - ✅ 早期/晚期 TPO 不平衡
867
+ - ❌ **TPO 密度**: 應 ≤5 TPOs/層級(未檢測)
868
+ - ❌ **85% 範圍在 IB 外**(未檢測)
869
+
870
+ **交易含義**:
871
+ - **市場狀態**: 強趨勢,單邊市場
872
+ - **策略**: 順勢交易,避免逆勢
873
+ - **特徵**: 不區分上漲/下跌(統一為 TrendDay)
874
+
875
+ #### 4. B-Double Distribution (B型雙峰) - 區間市場
876
+
877
+ **結構**: 兩個獨立的 POC(雙峰分布)
878
+
879
+ **視覺特徵**:
880
+ ```
881
+ 價格 TPO 分布
882
+ 1009 DEFGH ← 峰 2
883
+ 1008 DEFGH
884
+ 1007 D
885
+ 1006 ← 深谷
886
+ 1005 A ← 谷
887
+ 1004 ← 深谷
888
+ 1003 ABC ← 峰 1
889
+ 1002 ABC
890
+ 1001 AB
891
+ ```
892
+
893
+ **特徵**:
894
+ - 兩個明顯的局部最大值(POCs)
895
+ - 兩峰之間有深谷(< 70% 峰值 TPO 計數)
896
+ - 峰之間距離 > 20% 價格範圍
897
+
898
+ **交易含義**:
899
+ - **市場狀態**: 區間震蕩,兩個接受區域
900
+ - **策略**: 區間交易,在兩個 POC 之間操作
901
+
902
+ #### 5. Normal (正態分布) - 平衡市場
903
+
904
+ **結構**: 對稱的鐘型分布
905
+
906
+ **視覺特徵**:
907
+ ```
908
+ 價格 TPO 分布
909
+ 1007 C
910
+ 1006 BCD
911
+ 1005 ABCDEFGH ← POC(中心)
912
+ 1004 BCD
913
+ 1003 C
914
+ ```
915
+
916
+ **特徵**:
917
+ - POC 在價格範圍中間(30%-70%)
918
+ - 對稱的 TPO 分布
919
+ - 兩側差異 < 30%
920
+ - **行業標準**: 85% 範圍在 IB 內(未檢測)
921
+
922
+ **交易含義**:
923
+ - **市場狀態**: 平衡市場,供需均衡
924
+ - **策略**: 區間交易,VAH 做空、VAL 做多
925
+ - **特徵**: 50-60% 的交易日是 Normal 型
926
+
927
+ #### 6. Undefined (無法分類)
928
+
929
+ 不符合任何上述形狀的 profile。
930
+
931
+ ### 形狀識別優先級
932
+
933
+ 形狀檢測按以下順序進行(從最明顯到最不明顯):
934
+
935
+ ```
936
+ 1. Trend Day (最獨特)
937
+ ↓ (不是)
938
+ 2. B-Double (雙峰明顯)
939
+ ↓ (不是)
940
+ 3. P-Shaped (晚期集中)
941
+ ↓ (不是)
942
+ 4. b-Shaped (早期集中)
943
+ ↓ (不是)
944
+ 5. Normal (對稱)
945
+ ↓ (不是)
946
+ 6. Undefined (fallback)
947
+ ```
948
+
949
+ ### 交易策略對照表
950
+
951
+ | Shape | 市場狀態 | 形成機制 | 交易策略 | 成功率 |
952
+ |-------|----------|----------|----------|--------|
953
+ | Trend Day | 強趨勢 | 新業務進場 | 順勢交易,避免逆勢 | N/A |
954
+ | P-Shaped | 空頭回補(Short Covering) | 舊業務平倉 | 看漲信號,回調到 POC 做多 | N/A |
955
+ | b-Shaped | 多頭平倉(Long Liquidation) | 舊業務平倉 | 看跌信號,反彈到 POC 做空 | N/A |
956
+ | Normal | 平衡 | 供需均衡 | 區間交易: VAH 做空、VAL 做多 | 50-60% 天數 |
957
+ | B-Double | 區間震蕩 | 雙峰分布 | 兩個 POC 之間交易 | N/A |
958
+
959
+ **注意**:
960
+ - P-shape 和 b-shape 代表「舊業務」(Old Business),需要「新業務」(New Business)才能延續突破
961
+ - 成功率數據尚未經過大規模回測驗證
962
+
963
+ ### 參數來源與調整指南
964
+
965
+ **預設值來源** (基於行業標準):
966
+
967
+ | 參數 | 預設值 | 來源 | 市場類型 |
968
+ |------|--------|------|----------|
969
+ | `early_period_ratio` | 0.15 | 股票市場 IB 定義 (2/13 時段) | 股票 |
970
+ | `trend_ib_max_ratio` | 0.20 | 行業標準(ATAS, EMinimind) | 通用 |
971
+ | `trend_monotonic_threshold` | 0.60 | 允許適度回調 | 通用 |
972
+ | `trend_imbalance_threshold` | 0.70 | 強趨勢特徵 | 通用 |
973
+ | `pshape_concentration` | 0.60 | 業界共識 | 通用 |
974
+
975
+ **調整建議**:
976
+
977
+ | 市場類型 | 建議設置 | 理由 |
978
+ |----------|----------|------|
979
+ | **股票市場** | 使用預設值 (0.15, 0.20, 0.60, 0.70) | 符合 IB 定義 |
980
+ | **24h 期貨** | early=0.10, ib_max=0.15, monotonic=0.70, imbalance=0.75 | 更嚴格(IB 更小) |
981
+ | **高波動** | monotonic=0.50, imbalance=0.60 | 允許更多回調 |
982
+ | **低波動** | monotonic=0.70, imbalance=0.80 | 需要更強信號 |
983
+
984
+ **調整流程**:
985
+ 1. 從預設值開始
986
+ 2. 收集真實市場數據
987
+ 3. 一次調整一個參數
988
+ 4. 記錄準確度變化
989
+ 5. 在測試集上驗證
990
+
991
+ ---
992
+
993
+ ## 參考資料
994
+
995
+ ### 內部文件
996
+
997
+ - **ADR-050**: Market Profile Stateful Implementation
998
+ - 完整的 TPO 計算算法
999
+ - 實現挑戰和解決方案
1000
+ - 使用指南
1001
+
1002
+ - **ADR-060**: Market Profile Shape Recognition 優化
1003
+ - 形狀識別算法詳細說明
1004
+ - 行業標準對比
1005
+ - 參數調整指南
1006
+
1007
+ - **KB-006**: Market Profile Shape Recognition 行業研究
1008
+ - 行業標準文獻回顧
1009
+ - 形狀類型定義
1010
+ - Single Prints 特徵研究
1011
+
1012
+ ### 外部資源
1013
+
1014
+ - [TradingView TPO Indicator](https://www.tradingview.com/support/solutions/43000713306-time-price-opportunity-tpo-indicator/)
1015
+ - [Sierra Chart TPO Charts](https://www.sierrachart.com/index.php?page=doc/StudiesReference/TimePriceOpportunityCharts.html)
1016
+ - [Market Profile Guide - EMinimind](https://eminimind.com/the-ultimate-guide-to-market-profile/)
1017
+ - [ATAS Platform - Market Profile](https://atas.net/volume-analysis-software/market-profile/)
1018
+
1019
+ ### 學術文獻
1020
+
1021
+ - J. Peter Steidlmayer (1984). "Markets in Profile: Profiting from the Auction Process"
1022
+ - Market Profile 原創理論
1023
+ - Initial Balance 定義
1024
+
1025
+ - Dalton, Jones, Dalton (2007). "Mind Over Markets"
1026
+ - Market Profile 形狀分類
1027
+ - 交易策略應用
1028
+
1029
+ ### 行業標準
1030
+
1031
+ - **Stock Market IB**: 前 2 個 30 分鐘時段 = 前 15% 時段(13 個時段/天)
1032
+ - **Futures Market IB**: 前 2 個 30 分鐘時段 = 前 4% 時段(48 個時段/天)
1033
+ - **Value Area**: 70% TPO 覆蓋率(業界共識)
1034
+ - **Trend Day**: IB < 20% 總範圍(ATAS, EMinimind 標準)
1035
+
1036
+ ---
1037
+
1038
+ ## 版本資訊
1039
+
1040
+ **文件版本**: 1.0
1041
+ **最後更新**: 2025-01-25
1042
+ **對應實現版本**: tradepose-python 包
1043
+ **對應 Rust 版本**: ADR-050 v2.1, ADR-060 v1.0
1044
+
1045
+ **變更歷史**:
1046
+ - v1.0 (2025-01-25): 初始完整版本
1047
+
1048
+ ---
1049
+
1050
+ ## 聯繫與支援
1051
+
1052
+ 如有問題或建議,請參考:
1053
+ - 專案 README
1054
+ - GitHub Issues
1055
+ - 技術文件(ADR-050, ADR-060)
1056
+
1057
+ **重要提醒**:
1058
+ - ⚠️ 形狀識別為實驗性功能,使用時請謹慎
1059
+ - ✅ POC 和 Value Area 為穩定功能,可用於生產
1060
+ - 📚 建議先閱讀 ADR-050 了解實現細節