量化交易
Contents
参考资料
股票知识
一、市场与交易所结构
- 中国大陆主要有两家证券交易所:
- 上海证券交易所(简称“沪市”)
- 深圳证券交易所(简称“深市”)
- 沪市常见代码段(主板):
- 600、601、603 等【主板】
- 深市常见代码段:
- 000 开头【主板】
- 002 开头【原中小板;自 2021 年 4 月 6 日起与深市主板合并,公司类别统一为“主板 A 股”,代码沿用原中小板“002001–004999”区间,该区间现由深市主板使用】
- 300 开头【创业板】 补充说明:
- “中小板”作为独立板块已并入深市主板,前端行情展示与指数名称已相应调整,但个股代码与简称保持不变。因此,你现在在软件中仍能看到大量“002”开头的股票,它们目前都归属于深市主板。
二、常用指数
- 上证综指(上证指数)
- 含义:上海证券交易所发布的综合指数,反映沪市整体股价走势。
- 样本:沪市全部上市股票(含 A 股、B 股)。
- 编制:以发行量为权数,采用派许加权公式计算。
- 深证成指(深圳成份指数)
- 含义:深市的标尺性指数之一。
- 样本:从深市选取市值大、流动性好的股票构成,目前样本数量为 500 只。
- 特征:偏重制造业与新兴产业,兼顾主板与创业板公司,具有较明显的成长与科技风格。
- 中小板指数
- 含义:原中小板行情的指数化跟踪。
- 现状:两板合并后,相关指数进行名称适应性调整,但指数序列仍延续使用。实务中可理解为“原中小板样本在合并后的延续性指数”。
- 创业板指数
- 含义:刻画创业板整体表现的宽基指数。
- 特征:样本以成长型、创新型中小企业为主,波动相对更大,成长属性突出。
三、交易基本规则
- 交易时间(沪深统一):
- 周一至周五(法定节假日除外)
- 上午:9:30–11:30
- 下午:13:00–15:00
- 最小交易单位:
- 以“股”为报价单位。
- 1 手= 100 股;买入申报数量必须为 100 股或其整数倍。
- 涨跌幅限制(整体框架):
- 主板(沪深):
- 普通股票:通常为上一交易日收盘价的 ±10%。
- ST/*ST 等风险警示股票:单日涨跌幅限制为 5%(监管已启动将主板 ST 股统一为 10%的征求意见,后续以正式规则为准)。
- 科创板、创业板:
- 新股上市前 5 个交易日不设涨跌幅限制;
- 自第 6 个交易日起,日常涨跌幅限制为 ±20%。
- 北交所:
- 上市首日无涨跌幅限制,此后为 ±20%(不同阶段存在盘中临时停牌等机制)。
- 超过有效价格范围的委托视为无效(不同板块还有“价格笼子”等细则)。
- 主板(沪深):
- 交收制度(沪深 A 股):
- T 日:当日交易日。
- T+1 交收:当日买入的证券,在自动完成交割过户后,最早可在下一交易日卖出。
四、行情页面常用概念与指标
- 量比(衡量相对成交量的强弱)
- 含义:当前每分钟平均成交量与过去 5 个交易日每分钟平均成交量的比值。
- 计算要点:
- 当前每分钟平均成交量=当日累计成交量/当日累计成交时间(分钟)。
- 量比=当前每分钟平均成交量/过去 5 日平均每分钟成交量。
- 应用:
- 量比 ≈1:成交量与近期平均接近;
- 量比>1:成交相对放量,市场关注度提高;
- 量比<1:成交相对缩量,市场情绪偏谨慎。
- 开盘价
- 含义:每个交易日开盘后第一笔成交价。
- 换手率(衡量交投活跃程度)
- 含义:一定时期内成交量与股份总数的比率,反映筹码转手的频率。
- 常见口径:
- 总换手率=(期间成交量/发行总股数)×100%;
- 流通股换手率=(期间成交量/流通股本)×100%(A 股实务更常用)。
- 注意:
- 使用“总股本”与“流通股本”算出的换手率含义略有差异;实务中多采用流通股本口径。
- 总手
- 含义:当日自开盘起累计成交的手数(1 手= 100 股)。
- 委比(衡量买卖委托力量对比)
- 含义:通过未成交委托盘的对比,反映某一时段内买方与卖方的相对强弱。
- 计算公式:
- 委比=(委买手数-委卖手数)/(委买手数+委卖手数)×100%。
- 档位口径:
- 行情一般显示买一~买五、卖一~卖五,委买手数通常取买入五档总量,委卖手数取卖出五档总量。
- 含义:
- 委比为正且较大:买方委托量占优,短期买盘力量偏强;
- 委比为负且绝对值较大:卖方委托量占优,短期卖压偏重。
- 注意:
- 委比只反映“未成交委托”,易被挂单与撤单干扰,需结合成交量、分时走势综合判断。
- 分时价位线(黄黑走势线)
- 含义:展示当天价格随时间变化的曲线。
- 黑线:实时成交价(即时价)。
- 黄线:成交均价(当日累计成交金额/累计成交股数)。
- K 线与成交量颜色(国内常见配色)
- 收阴:收盘价低于开盘价;成交量通常显示为绿色柱。
- 收阳:收盘价高于开盘价;成交量通常显示为红色柱。
- K 线整体用来刻画一段时间内股价的开盘、收盘、最高、最低等走势结构。
五、均线与常见技术指标
- 均线(MA)
- 含义:对一定周期内的收盘价进行平均,得到一条平滑曲线。
- 多头排列(偏多信号):
- 短期均线在中期均线上方,中期均线在长期均线上方。
- 空头排列(偏空信号):
- 短期均线在中期均线下方,中期均线在长期均线下方。
- MACD(指数平滑异同移动平均线)
- 含义:利用快速与慢速移动平均线之间的聚合与分离,判断趋势强弱与转折。
- 应用:
- MACD 由负转正:暗示市场由偏空转为偏多;
- MACD 由正转负:暗示市场由偏多转为偏空。
- RSI(相对强弱指数)
- 含义:统计一段时间内上涨点数与下跌点数的比率,衡量价格运动中的“相对强弱”。
- 常用区间:
- RSI<30:可能进入超卖区间,存在技术性反弹可能;
- RSI>70:可能进入超买区间,存在技术性回调压力。
六、主要投资风格(简要)
| 风格 | 持有周期 | 核心思路 |
|---|---|---|
| 技术分析 | 较短 | 通过价格、成交量、指标等判断趋势或择时交易。 |
| 趋势交易 | 中长 | 顺应中长周期趋势,强调止损与跟随。 |
| 价值投资 | 较长 | 侧重公司基本面与估值,寻找价格不高于内在价值的标的。 |
七、用一个例子理解股票的本质
下面用一个“开公司”的故事,把股票的基本含义串起来。
1. 创业与发行股票
- 假设你和合伙人看好空调市场,成立“清凉空调制造有限公司”。
- 启动需要大量资金:生产线、厂房、技术、用工、原材料等,初步估算需要 1000 万元。
- 创始团队自筹 500 万元,仍需再募集 500 万元。
- 你们将公司总股本设为 100 万股,每 1 股代表公司一百万分之一的所有权。
- 向公众发行 50 万股新股(假设创始人原持有的 50 万股为原始股,不在本次发行中出售),每股发行价:
- 500 万元/50 万股= 10 元/股。
- 花 10 元买入 1 股“清凉空调”,意味着你拥有这家公司一百万分之一的所有权,成为股东。
2. 股价上涨:市场看好公司前景
- 公司运营良好:
- 节能省电、制冷效果强的产品推出;
- 营销有力、品牌提升;
- 遇上酷暑,订单暴增,利润快速增长。
- 市场预期变好,投资者更愿出高价持有“清凉空调”股票。
- 假设在交易所,投资者 B 愿意以 15 元/股从投资者 A 处买入。
- 股价从 10 元升至 15 元,本质反映市场对公司未来盈利与成长性的乐观预期,买方愿意为这份“所有权”支付更高溢价。
3. 分红收益:分享公司盈利
- 年底,公司实现净利润 200 万元(扣除成本、税费等)。
- 董事会决定利润处置方式:
- 一部分用于再投资(扩建厂房、研发新产品、开拓新市场),以提升未来盈利能力;
- 另一部分用于现金分红,回馈股东。
- 假设拿出 100 万元进行现金分红:
- 每股分红= 100 万元/100 万股= 1 元/股。
- 若你持有 10,000 股,则获得分红= 1 元/股 ×10,000 股= 10,000 元。
- 小结:
- 股票投资的回报主要来自两部分:
- 分红(现金回报);
- 股价上涨带来的资本利得。
- 股票投资的回报主要来自两部分:
4. 股价下跌:市场担忧或公司遇挫
- 假设第二年:
- 夏天异常凉爽,空调需求锐减;
- 或者竞争对手推出革命性新品,市场份额被抢占;
- 或者关键原材料(如铜)价格暴涨,成本剧增,利润大幅下滑甚至亏损。
- 投资者开始担忧公司未来盈利,持有者想尽快卖出,潜在买方只愿给出较低报价。
- 最终,投资者 C 可能不得不以 6 元/股的价格将股票卖给投资者 D。
- 股价从 15 元(甚至 10 元)跌至 6 元,反映市场对公司未来盈利能力与风险的悲观预期;作为“所有权凭证”的价值,在公司基本面恶化时随之缩水。
八、实务中的注意事项
- 交易成本与佣金
- 选券商时要关注佣金费率(例如万三)。
- 粗略测算:若 1 万元本金每周交易 3 次,一年约 150 次,按单边万三估算:
- 1 万元 ×0.03%×150≈450 元(大致相当于若干本投资书的费用,说明频繁交易会推高成本)。
- 如何从财务角度初筛“好公司”
- 可参考的门槛(仅为起点,需结合行业与周期综合判断):
- 连续 5 年 ROE>15%;
- 毛利率>30%;
- 资产负债率<50%。
- 可参考的门槛(仅为起点,需结合行业与周期综合判断):
- 买卖时机的辅助判断
- 关注政策信号与宏观数据;
- 结合技术指标与成交量,对趋势与位置形成判断。
- 理解涨跌的不对称性
- 亏损后的回本幅度大于表面跌幅:
- 100 元跌至 50 元,跌幅 50%,但从 50 元涨回 100 元需涨幅 100%,而非 50%。
- 亏损后的回本幅度大于表面跌幅:
- 止损与复盘
- 单笔亏损超过 10%时,应立刻复盘,避免情绪化加仓;
- 控制单笔与总仓位,是长期生存的关键之一。
九、概念辨析与常见误区(补充)
- “中小板”还存在吗?
- 板块层面已与深市主板合并,行情不再单独展示“中小板”专区;相关指数做了名称调整但序列延续。
- 个股代码(如 002 开头)继续使用,但归类为深市主板。
- 涨跌幅“10%”是否适用所有 A 股?
- 否。主板普通股多为 ±10%,但 ST/*ST、创业板、科创板、北交所以及新股前几日等有差异。
- “委比”能代表真实买卖意愿吗?
- 委比只统计未成交委托,容易受到挂单与撤单的干扰,不能单独作为买卖依据。
- 换手率用“总股本”还是“流通股本”?
- 理论上两种口径都存在,但 A 股实务更常用流通股本口径,更能反映真实流通筹码的换手情况。
拓展与后续学习建议
- 延伸阅读方向
- 指数投资与 ETF:
- 深入理解宽基指数(沪深 300、中证 500、中证 1000 等)与行业/主题指数的区别;
- 通过指数基金/ETF 实践资产配置。
- 财务报表与公司分析:
- 学习资产负债表、利润表、现金流量表的阅读;
- 掌握 ROE、毛利率、负债率、经营现金流等核心指标及其组合应用。
- 风险管理与组合构建:
- 分散化、仓位控制与止损规则的体系化;
- 不同大类资产(股票、债券、货币、商品)之间的相关性。
- 行为金融与决策心理:
- 认识过度自信、损失厌恶、锚定效应等常见偏差;
- 通过纪律与流程降低情绪对交易的干扰。
- 指数投资与 ETF:
- 高阶应用场景(供长期规划参考)
- 可转债、权证与衍生品(期权、期货)的基础知识;
- 再平衡策略与长期再投资计划;
- 事件驱动(财报、并购、回购等)与宏观周期视角。 参考与校验资料(节选)
- 深市主板与中小板合并与指数调整。
- 指数编制:上证综指的样本与加权方式;深证成指样本与结构。
- 交易规则与涨跌幅限制。
- 委比公式与档位口径。
- 量比与换手率的计算与实务口径。
量化交易(Quantitative Trading)
利用数学模型、统计方法和计算机编程进行金融交易的一种体系化方法。典型做法包括:在同一资产或不同交易所之间捕捉买卖价差等微小获利机会。其目标是提升交易效率与决策一致性,在不同市场环境下追求更稳定的收益表现。为降低通信延迟,一些机构会把服务器集群部署在离交易所机房较近的数据中心(即所谓的托管/共址)。
- 数学模型与算法:量化交易依赖数学与统计学模型(例如价格形态、趋势分析、波动性预测)来解读与预测市场行为。
- 数据驱动:大量使用历史与实时市场数据(如价格、成交量、盘口深度等)构建并验证策略。
- 自动化执行:交易信号通常由计算机程序自动执行,减少人工干预,实现实时或接近实时的响应。
- 风险管理:通过仓位控制、止损与对冲等手段管理组合整体风险暴露,减小不利波动带来的冲击。
- 频段划分:按持仓周期与换手速度可分为高频交易(HFT,极短时间内大量成交)与低频交易(较长持仓周期)。
- 机器学习:部分策略使用机器学习算法从历史数据中学习模式,并辅助预测或决策优化。
1.1 策略与评估指标
- 因子(Factor)
用于刻画资产或市场特征的量化变量,例如价格、均线、市值、成交量等。 - 信号(Signal)
由策略与因子计算得出的交易指令(例如买入、卖出或持仓),通常基于对市场状态的定量判断。 - 回测(Backtesting)
在历史市场数据上模拟策略执行,以评估其绩效与稳健性的过程。
回测中一个关键问题是防止“过拟合/过度拟合”(在样本内表现极好、样本外失效),需要通过样本外测试与走步前测(Walk-forward)等方式加强检验。 - Alpha
衡量策略相对于基准(常见为市场指数)的超额收益部分,正的 Alpha 意味着策略在调整风险暴露后仍取得额外收益。 - Beta
衡量投资组合相对于市场的敏感性。例如 Beta 大于 1 表示比市场更敏感、小于 1 则相对更稳定。 - 夏普比率(Sharpe Ratio)
风险调整后收益的经典指标,通常计算方式为(策略收益率 − 无风险利率)/ 收益率的标准差,反映每承担一单位总风险所获得的超额收益。 - 最大回撤(Maximum Drawdown)
策略在历史上任意区间可能损失的最大幅度(用峰到谷的跌幅衡量),常用于刻画极端风险。 - 资金管理(Money Management)
对资金与仓位进行规划的方法,包括组合分散、仓位上下限与动态再平衡等,用以控制整体风险。 - 收益(Return)
投资盈利或亏损的度量,常用百分比表示,是策略绩效评估的基础。
1.2 市场与合约基础
- 股票(Stocks)
代表公司所有权的权益证券,持有者享有分红与投票权,并承担相应风险。 - 投资组合(Portfolio)
由多种资产(股票、债券、期货等)构成的集合,通过组合化配置可以分散单一资产风险、平滑收益。 - 算法交易(Algorithmic Trading)
依据预设规则与数学模型进行下单与执行的交易方式,多由程序驱动,以提升速度与一致性。 - 标的
合同中权利义务共同指向的对象,是合同成立的必要条件。金融合约的标的可以是财产(如股票、债券、商品)或行为。
1.3 美国三大股指(要点)
- 道琼斯工业平均指数(DJIA)
历史悠久的股票指数,属于价格加权的算术平均股价指数,样本为 30 只知名工业公司股票。 - 标普 500(S&P 500)
覆盖约 500 家美国上市公司的市值加权指数,具有采样广、代表性强的特点,是广泛使用的市场基准。 - 纳斯达克 100(NASDAQ 100)
聚焦纳斯达克交易所中 100 只高成长、高科技、非金融类个股,被视为美国科技股的重要代表。
这些指数从不同角度反映证券市场的整体走势与结构变化。
二、量化模型与策略类型
量化模型是借助数学与统计学工具,基于历史与实时数据对金融市场行为进行建模与预测的框架。常见模型与策略包括:
- 蒙特卡洛模拟(Monte Carlo Simulation)
通过生成大量随机情景来评估组合的风险与收益分布,是处理不确定性的常用数值方法。 - 移动平均策略
以股价的短期与长期移动平均线为基础:- 短期均线上穿长期均线时给出买入信号;
- 短期均线下穿长期均线时给出卖出信号。
- 均值回归策略
基于价格在偏离历史均值后倾向于回归的假设。
当价格相对均值偏离超过阈值时,产生反向交易信号(超卖时买入、超买时卖出)。 - 动量策略
基于趋势延续的假设,通过价格变化率或其他趋势指标识别上涨或下跌动量,顺势产生交易信号。 - 市场中性策略
同时做多与做空相关资产,利用相对强弱或价差收益,尽量对冲系统性风险暴露。 - 套利(Arbitrage)
依托统计学或经济学上的定价偏差,在不同资产或市场间进行对冲或无风险/低风险组合,锁定套利空间。 - 事件驱动策略
监控新闻、财报、宏观数据与公司事件,在特定事件触发后执行交易。 - 机器学习策略
利用回归、分类或深度学习从大规模历史数据中学习模式,对价格走势或风险状态进行预测,并生成交易信号。 - 高频交易(High-Frequency Trading)
通过极低延迟的下单与撤单,在极短时间内捕捉微小价差与流动性溢价,通常伴随极高换手与极短持仓时间。
策略与模型多种多样,可根据资产类别、市场环境与个人偏好进行组合与调优。但无论采用何种模型,都应经过充分回测与样本外检验,并配合完善的风险管理。
三、量化回测与实证流程
回测是在历史数据上模拟策略执行并评估其表现的方法,目的是:
- 理解策略在不同市况(牛市、熊市、震荡)下的盈亏特征;
- 发现潜在缺陷与极端风险(如回撤集中期);
- 为后续优化与实盘参数选择提供依据。
3.1 回测步骤(典型流程)
- 定义交易规则
明确买入、卖出与持仓的条件,可基于技术指标、因子阈值、事件触发等。 - 获取历史数据
获取目标资产(股票、期货、外汇等)的价格、成交量以及其他可观测的市场数据。 - 模拟交易
按时间顺序将规则应用于历史数据,记录虚拟的持仓、成交与盈亏。 - 计算绩效指标
常用指标包括年化收益率、最大回撤、夏普比率等,用于比较不同参数与策略版本的表现。 - 优化与迭代
根据结果调整参数或修改规则,但需警惕对历史样本的过拟合,应结合样本外测试与走步前测等方法进行稳健性检验。 - 防止“未来函数”与数据泄漏
在回测中必须确保:- 任一时点的决策只使用该时点及以前的信息;
- 不在训练/调参阶段提前“偷看”后续数据;
- 使用样本外(Out‑of‑Sample)或滚动前测(Walk‑Forward)等手段验证策略的泛化能力。
四、数据获取与工具
4.1 使用 yfinance 获取金融数据
示例:以 Microsoft(MSFT)为例,yfinance 可提供行情、财报、股东、期权、新闻等多维数据:
|
|
4.2 数据可视化要点
常用的图表类型:
- 分类数据:分组柱状图、箱线图等,用于不同组别之间的比较。
- 矩阵数据:热力图,适合展示相关矩阵或因子暴露矩阵。
- 分面绘图:在多子图中按类别、时间或因子拆分展示,便于比较不同维度下的模式。
五、回测框架示例:Zipline
Zipline 是一个用于量化研究与算法交易回测的开源框架(由 Quantopian 开发),可与多种数据源集成。
安装:
|
|
使用 Quandl(现 Nasdaq Data Link)作为数据源:
- 注册并获取 API Key:https://data.nasdaq.com/account/profile
- 设置环境变量并导入数据:
|
|
基本策略脚本(示例:每个交易日固定买入 10 股 AAPL):
|
|
执行回测:
|
|
常用参数说明:
-f my_strategy.py:指定策略文件。--start、--end:设置回测区间。-o buyapple_out.pickle:将回测结果(交易记录与绩效指标)序列化为 pickle 文件。--no-benchmark:不使用基准指数进行比较。
读取结果(使用 pickle):
|
|
六、K 线与折线图示例(Matplotlib / Pyecharts)
6.1 折线图示例:收盘价走势与收益率可视化
获取贵州茅台(600519.SS)的历史行情并绘图:
|
|
A 股代码在 yfinance 中的命名:
- 上海证券交易所(SSE):后缀
.SS; - 深圳证券交易所(SZSE):后缀
.SZ。
数据索引为 Date,常见字段包括 Open、High、Low、Close、Adj Close、Volume。
6.2 移动平均交叉策略示例
以 50 日与 200 日均线为例:
|
|
6.3 K 线图示例(Pyecharts)
安装:
|
|
示例:贵州茅台 K 线图(三年区间):
|
|
K 线图常用于展示开盘价、收盘价、最高价与最低价,帮助观察价格结构与波动特征。
6.4 简单收益回测示例
基于日度收益率与简单信号构造策略收益,并绘制累计收益曲线:
|
|
常用方法:
pct_change():计算相邻期收益率;cumprod():计算累计乘积,用于构造净值/累计收益曲线。
七、LongPort OpenAPI 简介
LongPort 提供程序化的行情与交易接口,可用于搭建行情监控、策略分析与自动化交易工具。结合量化模型与回测体系,可以实现从研究到实盘的闭环流程。
拓展与后续学习建议
- 风险管理与组合优化
深入学习均值-方差模型、风险平价、在险价值(VaR)与条件 VaR(CVaR)等,帮助构建更稳健的组合。 - 回测与过拟合
系统学习样本内/样本外划分、走步前测(Walk-forward)、交叉验证,以及过拟合检测方法,提升回测结论的可信度。 - 因子投资与多因子模型
探索常见因子(价值、规模、质量、动量、低波动等)与因子组合方法,以及行业与风格中性化处理。 - 机器学习与深度学习在量化中的应用
从监督学习(回归/分类)到强化学习(交易策略优化),再到自然语言处理(新闻与舆情分析),逐步构建更复杂的模型。 - 实盘工程与基础设施
研究订单路由、撮合机制、延迟优化(托管/共址)、数据质量清洗与异常检测,以及合规与风控体系建设。 - 开源框架与社区
除 Zipline 外,可关注 Backtrader、QuantLib、VectorBT 等开源项目;关注量化社区与论文,持续跟踪研究前沿。