協議式回購 (Negotiated Repurchase Agreement): 一種兩方自行協商條款, 私下完成的回購交易模式, 與在交易所或通過競價方式進行的回購 (如公開競價式回購) 相對應. 適合大型機構或有特殊需求的交易對手 (在資金緊張或特定標的難以在公開市場獲得時, 機構傾向採用協議式回購, 以內部信用安排快捷地完成融資或投資操作). 通常仍透過中央交易對手清算機構 (CCP) 或中央結算系統 (如銀行間結算中心) 進行資金與證券的交收, 以降低交收風險.
Frequency:
Nanosecond Frequency (1/1,000,000,000): FPGAs in localhost of trading machine
Microsecond Frequency (1/1,000,000): UHTF using FPGAs, GPU, RDMA in localhost of trading machine
Millisecond Frequency (1/1000): HFT (usually 50/1000s)
Minute Frequency: Intraday Trading, Bollinger Bands, MA
Daily Frequency (日內交易, Intraday Trading): 收盘价, 开盘价, 日线数据 (例如技术指标、基本面分析等), 不持有任何隔夜頭寸 (Overnight Position), 需要高度的市場敏感度和快速的決策能力
Weekly Frequency: 周度调整, 波段交易
Monthly Frequency: 价值投资, 资产配置
盤內 (盤中): 指交易所開盤時間內的交易活動
盤外 (盤前/盤後): 開盤前後的延長交易時段
內盤: 國內的操盤
外盤: 國外的操盤
Purpose:
hedging: trade for the purpose of reducing risk
speculation: trade for the purpose of gaining value by taking risk
Stuff To Trade:
標的 (Underlying)
衍生品 (Derivative)
Fund of Funds (FOF): 投資於其他基金的基金
| 比較項目 | 融資 | 融券 |
|---|---|---|
| 借的是? | 現金 | 股票 |
| 建立的是? | 多單 | 空單 |
| 最大虧損 | 股價歸零(損失本金) | 理論無上限(股價無上限) |
| 常見用途 | 看多槓桿 | 做空、套利、避險 |
| 合約類型 | 到期時間 | 優點 | 缺點 | 適合策略類型 |
|---|---|---|---|---|
| 近月合約 | 最接近現在的交割月份(例如3月時的3月合約) | 🔹 流動性最高 🔹 買賣價差(bid-ask spread)最小 🔹 價格反應市場資訊最即時 |
🔸 快速接近交割,需頻繁換倉 🔸 可能受交割效應影響(如逼倉、實物交割風險) 🔸 價格波動較劇烈 |
日內交易、超短週期套利、需高流動性的高頻策略 |
| 次月合約 | 第二接近現在的月份(例如3月時的4月或5月合約) | 🔹 波動性較低 🔹 可延後換倉,減少交易成本 🔹 避開交割風險 |
🔸 流動性略低於近月 🔸 買賣價差稍大 |
中短期趨勢策略、rollover穩定性策略 |
| 遠月合約 | 超過兩個月以上的合約(例如3月時的6月、9月、12月) | 🔹 價格平穩,受交割因素影響小 🔹 更貼近市場對長期預期的定價 🔹 適合期限結構套利(期貨曲面交易) |
🔸 流動性差 🔸 買賣價差大 🔸 滿倉容易受到槓桿擴大的不利變化影響 |
跨期套利、長週期因子策略、期限結構模型(term structure models) |
期貨定價公式 (無預期成分的理論模型):
Strategy Classification:
Commodity Trading Advisor (CTA): rule-based methods, more for derivative
Discretionary trading (subjective trading): human judge
Equity (stock) investing without futures or derivatives: fundamental analysis
High-frequency market making: Strategies that provide liquidity by posting bids and offers rapidly to capture small spreads. While some CTAs can do high-frequency trading, classic CTAs focus more on directional systematic trading.
中性策略 (多空策略, Long–Short Strategy):
原理: 选择两只高度相关的股票. 在预期上涨的标的 (或因子最佳的股票) 上建立多头, 在预期下跌的标的 (或因子最差的股票) 上建立空头.
風險: 挑战在于对冲执行和成本控制. 对冲不完全都会导致策略暴露到系统性风险. 付出借券费, 双向交易费等成本
Alpha: alpha 源于相对价差或因子选股, 信号较弱, 需要大样本, 小信号, 频繁调仓, 要求统计检验更严格, 回测时容易出现过拟合.
難度: 模型和系统更复杂, 需要同时处理多只股票或多市场头寸, 借贷, 配对交易, 对系统性能, 交易成本估计要求高.近似同仓位空多头配对的信号筛选, 回测也更繁琐.
資金規模: 为了获得足够的收益, 通常需要较大的资金, 较低的手续费率和更好的执行速度, 否则成本可能蚕食alpha.
非中性策略:
風險: 宏观方向判断错误的风险更大. 突发事件敏感.
Alpha: alpha 依赖宏观或趋势信号, 信号相对 "粗" , 但可捕捉单方向的大行情, 调仓频率通常较低, 对短期噪声不那么敏感.
難度: 模型相对简单 (如单因子动量, 宏观模型) , 但需要更强的宏观和事件分析能力, 以及更好的仓位管理来应对趋势反转.
資金規模: 对资金规模依赖相对弱, 可用更灵活的小规模资金博取趋势收益, 但遇到极端行情需严格控制杠杆.
Strategy base on Alpha/Beta:
Beta Strategy (Passive indexing, 市場風險的回報): 指數, 成分股權重通常按市值大小 (market capitalization) 分配, 市值越大權重越高.
Smart Beta Strategy (Combining Both, Index Enhancement Strategy, ETF Rotation): 用因子替代傳統市值加權的 index. 策略依靠歷史數據和固定規則. 被動投資, 低頻, 透明.
Alpha Strategy (Active factor investing, 個股票風險的回報): 選股或時機, 超越市場回報, 風險大. 主動投資, 可高頻, 不透明. Alpha 策略通常不長久, 使用的資金規模越大可持續性通常越小.
中性: Hedge Fund
| 類型 | 中性目標 | 控制方法 |
|---|---|---|
| 市場β中性 | 不暴露市場方向 | β中性對沖 |
| 行業中性 | 不暴露行業分佈 | 行業內配對、多空對沖 |
| 市值中性 | 不偏重大小盤 | 按市值調整持倉比重 |
| 因子中性 | 避免暴露某些風格 | 去偏因子暴露(如動量) |
| 特性 | ETF | 傳統指數基金 |
|---|---|---|
| 交易時間 | 盤中隨時交易 | 交易日結束後淨值交易 |
| 價格形成 | 市場供需決定,存在溢價折價 | 按淨值定價 |
| 交易成本 | 佣金 + 買賣差價 | 申購/贖回費用 |
| 管理費 | 較低 | 較高 |
| 稅務效率 | 較高 | 較低 |
| 投資門檻 | 較低 | 較高 |
對比: 傳統指數基金面向大衆, 通常額度小, 人工費用高, 運營起來麻煩需要對接客戶. 而 ETF 因爲自動化, 所以人工少, 資金大.
三分類 (Three-class Classification): 判斷上漲, 持平或無明顯變動, 下跌.
Bag-of-SFA-Symbols (BOSS): BOSS 是一種用於時間序列數據的表示和分類的技術, 利用 Symbolic Fourier Approximation (SFA) 將時間序列轉化為符號串, 再用bag-of-words方法提取特徵, 最後進行分類.
LightGBM: don't use it
XGBoost: don't use any classification
Metrics/Loss:
Cross-Sectional
Time-series
Information Multiplier (IM): adjusting portfolio weight using signal
Gaussian Process, RL Generative Model
TBMC (TradeBlazer): 策略開發, 回測和實盤交易. 圖形化的界面, 用類似 C# 的語言來編寫交易策略.
Winpy: 基於 Python 的量化交易框架, 支持多種數據源和交易接口
訊投QMT
米匡
DPDK (Data Plane Development Kit): DPDK is a set of libraries and drivers designed to accelerate packet processing in user space. It allows applications to bypass the kernel and interact directly with network hardware, reducing overhead and increasing throughput.
RDMA (Remote Direct Memory Access): RDMA is a technology that allows computers to access each other's memory directly over a network without involving the CPU, cache, or operating system. (low-latency financial applications)
Direct Market Access (DMA): 你的程式 → 直接連接券商的 DMA gateway → 交易所 (而非 你的程式 → 券商風控系統 → 券商人機系統 → 交易所), 省掉延遲, 控制訂單精度, 毫秒級或微秒級交易行為.
標準 DMA: 通過券商提供的 API (FIX, REST, WebSocket) 下單
Sponsored DMA 券商允許你用它的會員資格連進交易所, 但交易內容你自負盈虧
Co-location DMA 你的伺服器直接放在交易所機房 (機架共置), DMA 通道直連交易核心
DMA + Smart Order Router (SOR) 在多市場中同時找最佳價格下單, 是 DMA 的進階版本
AlgoPlus
WonderTrader
CTP接口
聚宽的因子看板
traderblocks, 支持Meta5的fxdreema, algobuilderx, 运行在NT8的tradedevi, 运行在NT8: sharkindicators
专门为Quant而设计的: amibroker, Multicharts Net
Capital Asset Pricing Model (CAPM)
Beta: 衡量該股票對整體市場風險 (systematic risk) 的敏感程度. Beta 值大於1代表股票波動比市場大, 小於1則波動較小
Alpha: 該股票在考慮了市場風險後真正的"額外"回報, 如果 Alpha 是正的, 表示該股票的表現超越了基準, 否則跑輸市場
術指標 (technical indicators): 基於歷史價格和成交量等市場數據 - Market Pricing: 二級市場 (如股票交易所) 上, 基於市場買賣雙方的供需關係形成的資產價格 (有區別於 NAV) - Moving Average: 價格平均 - Moving Average Convergence Divergence: 短期和長期移動平均線的差距 - MACD (Moving Average Convergence Divergence): \text{MACD} = \text{EMA}_{\text{short}} - \text{EMA}_{\text{long}} - Param: Short EMA = 12-day, Long EMA = 26-day, Signal line = 9-day EMA of the MACD - \text{Signal Line} = \text{EMA}_{\text{signal}}(\text{MACD}) - MACD crosses above Signal Line -> Bullish (buy signal) - MACD crosses below Signal Line -> Bearish (sell signal) - MACD divergence from price -> Possible trend reversal - It's also often used with other indicators (e.g., RSI, Bollinger Bands) for filtering and signal confirmation. - 波動率 (Volatility): 回報率 (returns) 的標準差. 高波動率提供了足夠大的價格變動空間, 使得規則策略的交易信號更明顯且更容易捕捉大幅利潤. - ATR (Average True Range): 平均真实波幅, 衡量市场波动性的指标 - Relative Strength Index (RSI): 價格變動速度 - RSI 背离 (Relative Strength Index Divergence) - 底背离: 价格创新低但 RSI 未创新低, 可能预示反转向上 - 顶背离: 价格创新高但 RSI 未跟随, 可能预示反转向下 - 趨勢度 (Trend Strength): 衡量資產價格在某段時間內持續朝一個方向變動的強弱. 高趨勢度則保證這些波動有明確方向, 策略可以順勢持倉, 獲得連續盈利. - 移動平均斜率 (Slope of Moving Average) - 平均趨向指標 (Average Directional Index, ADX) - 趨勢持續時間: 計算價格連續上漲或下跌的天數 - 貼水 (Backwardation): 期貨價格 < 現貨價格 (深潛水: 大貼水) - 升水 (Contango): 期貨價格 > 現貨價格 (高升水: 大升水) - 流動性: 高頻大資金提供流動性盈利 (方便大家轉移資產, 但相對的有代價)
預測信號:
Delta (敞口, Exposure): 单个衍生品的 Delta 表示标的资产价格变动 1 单位时, 衍生品价格预期变动的数量. 例如, 某看涨衍生品 delta=0.6, 标的涨 1 元, 衍生品价格约涨 0.6 元.
整体敞口(Gross Exposure)是所有头寸绝对值之和 (unsigned). 反映了组合放大了多少市场波动风险 (不考虑方向)
净敞口 (Net Exposure): 将组合中所有部位的敞口加总后得到的值 (signed). 其中, 持仓量为多头为正, 空头为负. 当 Delta 净敞口为正时, 表示我們正在做多, 反之我們在做空. 净敞口数值越大, 组合的方向性风险越高. 理想的中性组合 (market-neutral) 应保持 Delta 净敞口接近 0, 以减少标的价格大幅波动带来的风险.
Gamma: Delta 的斜率.
Ex-post Tracking Error (事后跟踪误差): 基于历史数据计算, 等于组合与基准每日超额收益的标准差: \text{Tracking Error} = \sqrt{\frac{1}{T-1}\sum_{t=1}^T\bigl(R_{p,t}-R_{b,t}\bigr)^2} where R_{p,t} is 第 t 期组合收益率, R_{b,t} is 基准收益率.
Ex-ante Tracking Error (事前跟踪误差): \text{TE}_{\text{ex-ante}} = \sqrt{\mathbf{w}^\top \,\Sigma\,\mathbf{w}} 其中, \mathbf{w} 是组合相对于基准的超额配置权重 (如持仓权重之差), \Sigma 是相应标的收益率的协方差矩阵. 被动型基金通常目标跟踪误差非常小 (如几bp), 而主动管理基金则容许一定水平的跟踪误差来追求超额收益.
基本面數據 (fundamental data): 公司內在價值和經營狀況的各種財務和經濟指標, 公司財報 (revenue, net income) - 股息 (Dividend): 中小型股普遍沒有穩定高股息 - 持有資產的淨值 (Net Asset Value, NAV): 所有資產的總市值減去負債後的淨值 (有區別於 Market Pricing) - 市盈率: Price-to-Earnings Ratio, P/E: 股價除以每股盈餘 - 市淨率: Price-to-Book Ratio, P/B: 股價除以每股淨資產 - 負債率: Debt-to-Equity Ratio
多因子模型 (multi-factor models): 每個因子可以理解為一個解釋回報的變量,可能是價值因子 (Value Factor), 規模因子 (Size Factor), 動量因子 (Momentum Factor) 等.
截面數據 (Cross-sectional data): 同一時間點不同股票, 交易策略, 市場, 同時收集的價格, 收益率等. ML output relative performance of many assets a one specific future time, so we choose which assets to invest.
時間序列數據 (Time series data): 同一個對象, 在不斷變化的時間軸上連續收集的數據. 主要優化 (t-value, null hypothesis) ML output absolute performance relative to historical performance, so we choose whether to invest into one asset.
壓力位: 歷史高點 支撐位: 歷史低點 均線回踩: 整體上漲時短暫的價格停留
factor exposure: 如果一個策略對某因子有較高的暴露, 代表該策略的收益會隨該因子變動而變動. 如果一個策略使市場風險暴露 (beta) 接近零, 那麼此策略收益不隨市場漲跌而大幅變動.
大多數機構流程:
從數據到特徵 (From data to features):
從原始市場數據(價格、成交量、財務報表等)清洗、整理,計算出可用於建模的特徵(features)。
例如,根據價格計算動量指標,從財報數據計算市盈率等。
從特徵到因子 (From features to factors):
根據業界或理論確定哪些特徵有投資價值,將這些特徵組合成「因子」,作為解釋回報的變量。
例如多個財務指標組合成一個「價值因子」。
建立模型 (Model building):
使用統計或簡單機器學習方法(例如線性回歸)對因子與歷史回報關係建模,估計因子權重。
組合優化 (Portfolio Optimization):
根據模型輸出和風險偏好,計算各股票或資產的權重配置,形成投資組合。
這一步通常涉及數學優化(例如均值-方差優化 mean-variance optimization)。
策略驗證 (Strategy Validation):
通過回測(backtesting)、交叉驗證或紙上交易(paper trading)來檢驗策略在歷史數據或模擬環境中的效果,確保策略有效且穩定。
滑價 (Slippage): 資金參與少 -> 流動性差 -> 點差 (Bid-Ask Spread) 較大, 更容易滑價
限價單: 只在你設定的價格或更好價格成交
市價單: 無論什麼價位都會成交
冰山單 (Iceberg Order): 手動分批, 逐步成交
時間加權平均價格 (TWAP): 平均時間內分散下單, 減少市場衝擊
成交量加權平均價格 (VWAP): 跟隨市場成交節奏下單, 降低偏離
買五檔: 市場上前五高的買價 (出價最高的買家) 與對應的買單量
賣五檔: 市場上前五低的賣價 (最願意賣出的賣家) 與對應的賣單量
買賣深度 (Level II Data): 市場中尚未成交的掛單資訊, 包括每個價格檔位上的買方與賣方委託價格與數量. 與其顯示買一/賣一, 會顯示買一15, 賣15.
保證金:
波動率高 -> 風險高 -> 保證金高
流動性差 -> 對沖或平倉困難 -> 風險高 -> 保證金高
監管鼓勵穩健操作, 避免過度槓桿炒作 -> 保證金高
Lavel II Data Example | 價格(賣) | 委賣量 | | 價格(買) | 委買量 | | ----- | --- | - | ----- | --- | | 4988 | 40口 | ← | → | | | 4987 | 35口 | | 4986 | 60口 | | 4986 | 50口 | | 4985 | 45口 | | 4985 | 20口 | | 4984 | 30口 | | 4984 | 10口 | | 4983 | 20口 |
def estimate_slippage(order_size: int, bid_prices: list[float], bid_volumes: list[int]) -> float:
# 根據委託簿推估下單後的平均成交價
total_cost = 0.0
remaining = order_size
for price, volume in zip(bid_prices, bid_volumes):
if remaining <= 0:
break
fill = min(remaining, volume)
total_cost += fill * price
remaining -= fill
return total_cost / order_size if order_size > 0 else 0.0
PNL (Profit and Loss): PNL_t = (持倉 * 當期價格變動) - 買賣手續費 - 滑價成本
复权: 股票在除权除息 (分红, 送股, 配股) 之后, 价格会出现 "跳空" 现象 (不是因为市场行为, 而是因为公司行为). 如果你直接用原始收盘价 (也叫不复权价格) 画图或做分析, 会误以为价格突然跌了很多, 实际是派息或送股造成的.
前复权 (Forward Adjusted Price): 将历史价格调整到当前价格的尺度
后复权 (Backward Adjusted Price): 将当前价格调整到过去价格的尺度
未来函数: 使用未來信息預測的函數. 如果使用复权價格, 那麼得到的模型是未來函數. 但绝大部分的量化程序都是用了复权价格. 正确的做法应该是采用不复权数据, 然后单独处理转股, 送股, 派息之类的情况, 但事实上大家都直接用了复权数据, 本质上是不专业的.
容量: 能在市场上投入多少资金而不显著影响收益率
市场整体规模比传统股票或期货市场小
高频机会(例如撮合撮单差、微秒级套利)的出现频率低
做市商/量化团队高度集中、竞争极强
手续费、滑点和撮合延迟影响大
主力建倉速度慢:
推高價格: 比如某機構想買入 1000 萬股,市場上每個價位的賣單很有限,若一次性掃盤會導致價格迅速拉升,自己越買越貴
暴露意圖: 如果別人看到你在大量買入,會知道你看好該標的,會搶先買入拉高價格或提前布局搶佔流動性,等你進場再賣給你
出現滑價(slippage): 下單後價格不穩,執行價格可能遠離理想成交價,成本不穩定。
主力測羅:
VWAP、TWAP 等算法交易策略:按時間/成交量加權平均分批下單。
隱藏單 / 冰山單:在 order book 上只掛出一小部分,成交後自動補單,避免暴露總倉位。
假動作:用小單引導價格波動,引誘散戶或量化策略誤判方向。
小資金測羅:
其他觀點:
回測: 你用一个很简单的量化策略跑历史回测效果大多都不错.那是因为以前的市场不成熟, 市场专业性差, 市场效率偏低, 尤其是闭塞的内盘, 而不是说你这个策略有多好.不过自从前几年人工智能火起来后, 量化交易这个相关领域也被带动起来.很多国内人傻钱多的机构从海外挖了一大批行业相关人员, 现在很多稳赚不赔的量化套路 (套利居多) , 国内基本上也有了, 你的策略大概率不会像回测当中那么有效 (尤其是跑中长期数据回测的) .即使你回测的结果真的很好, 你上实盘也需要打一个五折, 才能算是最好的结果.
閉門造車: 在家闭门造车尤其不行.先不说你自己一个人的思路跟的跟不上时代.就算跟得上时代你也可能没有行业先进的方法和技巧.如果你在一个公司里, 并且在这个行业小有名气, 天天和别人头脑风暴, 这个事儿没准还是能成的.但是就上网看看文章, 自己鼓捣鼓捣, 想成的概率实在是太低.不然你也不会在网上看到有那么多卖课的.
绝对理性: 如果你没有金融行业的从业经验, 没有做过主观交易, 一上来就学习量化, 那么真的容易会陷入 "绝对理性" 这个误区.人在主导价格中的因素是很多的, 绝不仅仅是自然科学和数学.
主觀與L2: 如果你坚持要做量化, 那么建议你在量化当中更多的考虑成交量在其中的因素.因为事实上就连最基本的, 让量化程序自动化趋势线都很不好实现, 更不要说自动画费波纳奇之类的.主观让你画趋势线, 你都不一定能找得到对齐哪两个点 (比如是从绝对低点开始画还是趋势低点开始画), 程序就更难判断了.如果你像我一样, 相信价格是市场各个参与主体合力竞价出来的. 那么你不考虑成交量, 不考虑这些主观交易思路 (包括市场几何学), 就相当于忽视了这些人在竞价中的作用, 而这我认为不是一个很好解决思路.
经典的策略: 经典的策略依然有用是因爲很多量化程序循环加强了這種觀點.
Manager Of Managers (MoM): 即管理人中管理人基金, 指 MOM 管理人委托多个投资顾问对资产组合提供投资建议, 且基金资产需要分成多个子账户, 每个子账户均獨立管理. 和 FoF 類似.
From: http://bbs.ailabx.com/topic/38/%E8%A7%82%E7%82%B9-%E5%BB%BA%E8%AE%AE%E4%B8%AA%E4%BA%BA%E5%92%8C%E5%B0%8F%E5%9B%A2%E9%98%9F%E4%B8%8D%E8%A6%81%E7%A2%B0%E5%A4%A7%E6%A8%A1%E5%9E%8B%E8%AE%AD%E7%BB%83
现在的开源LLM只有权重, 没有数据. 你做领域微调的时候, 由于没有配比原始数据, 微调之后的结果, 极有可能比原本的更差.
常见的一个方案就是, 对一些图片, PDF 文件做好 OCR, 转为 Markdown, 不管是 graphRAG 也好, 还是传统的 ES 搜索, 在每次问答前, 将需要的上下文, 塞给 LLM, 拿到的结果就不会太有问题. RAG 自带在线持续学习的特性, 非常适合业务场景. 目前很难让 LLM 的权重随着业务场景的变化而实时更新, 但知识库可以实现这一点.
开源LLM对一些特定领域的效果非常差, 怎么办? 而我自己的体会是, 我自认为的一些特殊的场景, LLM仍然是可以理解的, 真的不能小瞧它们的通用知识. 128K的上下文长度非常关键! 这个可以降低你RAG的门槛, 以及提高LLM对领域知识的掌握.
将最需要脑子的任务交给o1系列模型, 它唯一的缺点就是非常贵.我只说一个概念, 它的输入是128K, 有效输出长度可以高达2K行, 这个可以用来干什么大家自行探索, 有些经验我实在不舍得分享出去, 哈哈. 比较需要脑子的任务, 交给4o, sonnet3.5这一梯队的模型, 价格也比较贵, 但基本上比多数人的脑子都好. 一些通用任务, 可以交给 4o-mini 和 gemini-flash 这样的模型, 尤其是 gemini-1.5-flash-002, 性价比高到爆. 这里对任务的划分, 就需要一个 agent 自动编排框架. 但是, 我目前还没有找到合适的方案, 仍然靠着最基础的 if-else 逻辑, 还没能实现全自动化, 欢迎大家推荐相关的方案!
看过我之前关于如何吃到行业的低垂果子?帖子的朋友应该知道, 我最近一直思考目标选择的问题. 我认为关键因素的突然出现, 会给版本带来一些不一样的变化. 大家的认知如果能够预知一些变化的下一步影响, 那么就可以提前一步, 拿到低垂果实. 而大模型时代, 基础模型能力的每一次提升, 都算是一次版本更新. 距离大厂基座模型团队之外的AI人, 需要先了解现有LLM的性能边界, 敏锐的分辨出现有模型能力和过去方案的差异, 能否给当前的业务带来新的变化, 然后快速解决现有业务的难题. 不要在低收益的赛道上无意义的投入, 错位竞争, 降维打击, 也许更有效.
Table of Content