zoukankan      html  css  js  c++  java
  • 读书笔记 量化交易:如何建立自己的算法交易事业

    作者博客:epchan.blogspot.com  高级内容网站:pchan.com/subscriptions
    第2章 寻找切实可行策略
    策略基准 纯多头策略,资产指数为基准;货币中性策略(持有相同价值的多头和空头),基准为无风险收益率。
    高sharpe和高return比较:前者好,越高sharpe事实上使得你最终获利越多,高sharpe可以运用更高的杠杆进行交易,
    最后的收益率是杠杆收益率,而不是名义收益率。
    回撤、和最长回撤期,两者时间可能不一致
    滑价有正有负,平均对交易员是成本而不是收益。
    交易成本通常是平均买卖价差的一半再加上佣金来估计。
    数据有无存活偏差、策略的业绩如何随时间变化而变化?策略是否过度优化?
    策略容量?
     
    第3章:回测
    数据是否经分拆及股息调整?做股票策略要注意
    数据有无存活偏差?存活偏差会抬高收益率:买入价格最低股票并持有一年。有存活偏差388%,无存活偏差-42%,差异巨大。
    策略用最高价、最低价吗?如果用,有可能成交不了。
    业绩度量:最重要两个指标,sharpe和最大回撤,平均年化收益率劣势,必须详细说明计算收益率所用到的分母,
    例如:多空策略分母用一个方向的资本还是两个方向呢?分母用账户净值还是投资组合市场价值?净值和市场价值每日变化,
    分母是用移动平均值还是每天或者每月末的价值呢?
    避免常见回测陷阱:1、前视偏差,例如:日最低价的1%之内买入股票,当日收盘前,不知道日最低价。又如:使用全部数据回归得来系数,来产生一个基于前后两段价格序列的线性回归交易信号,同样有前视偏差。
    如何避免?使用滞后的历史数据。如使用上一交易期限的收盘数据,介绍了测试是否存在前视偏差方法,移除部分数据,比较头寸。
    2、过度优化(数据迁就偏差)避免方法:(1)样本含量,优化参数所需数据点为模型中自由参数个数的252个,回测三参数至少三年日价格数据。
    分钟交易模型,至少7个月(252/(6.5*60)),每天交易分钟数390个,(2)、样本外测试,将历史数据分两段,后一段用于样本外测试。
    无参数交易模型:所有这些参数都在一个移动回溯窗口中进行动态优化。最靠谱的样本外测试方法,仿真交易。(3)敏感性分析:完成模型的参数和各种特征值优化,通过测试集检验后,可以改变参数或模型的定性决策,来观察模型业绩在训练集和测试集的变化,如果变化很大,可能存在数据迁就偏差(过度优化),各种简化模型方法都值得尝试。移除这些条件,只要没有显著降低,就应该尽可能移除更多条件、约束和参数。
    在简化参数集和条件,确保没有敏感性较大变化,应考虑将资金分配到不同的参数值和条件集。这种资金在参数上的平均化,进一步确保模型真实交易业绩与回测业绩不会相差太大。
    3、交易成本:买入前一交易日收益率最差的股票,卖空前一交易日日收益率最好的股票,不考虑交易成本,1995-2006,夏普比率4.47
    但是如果假定每笔交易(一笔买入或一笔卖出)交易成本5个基点,夏普比率-3.19.
    4、策略改进:一个指导原则,同时提高训练集和测试集的业绩。
    股票配对交易为交易员所熟知简单有效的策略,收益率不断下降,可以加入一些微小调整(最好基于经济学基本原理)。
     
    第4章:创建交易业务
    4.1零售还是自营
    4.2选择一家零售(或者自营)经纪公司
    很多人只考虑佣金,但其实佣金只占总交易成本的一部分,有时甚至比例会很小
    1、佣金 2、经纪商的成交速度和是否提供所谓的‘暗池’流动性,也要计入交易成本。交易所之外的机构指令,或经纪商客户之间的内部交叉订单,构成暗池流动性。不过只有多家成本和收益比较才能权衡。
    高盛的REDIPlus交易平台进行交易,Sigma X执行引擎会同时对内部交叉网络和外部流动性提供商传递指令,相对较好,足以支付高盛相对较高的佣金了。
    3、可交易品种范围 4、交易平台是否提供应用程序接口(API) 5、仿真交易账户(提前测试API)6、自营公司声誉和财务状况7、可以选个多个公司和账户
    4.3设备:备用电源,防中断电源(UPS)  网络   业务持续计划:可以把交易程序安装在托管商的远程服务器上,甚至可以把安装了交易程序的电脑托管在托管商那里。
     
    第5章:交易执行系统
    1、建立半自动交易系统     历 史数据文件--》MATLAB--》指令文件--》经纪商的组合交易器--》你的经纪账户
    2、建立全自动交易系统    实时数据接受--》你的c++程序--》经纪商的API--》你的经纪账户
    3、聘请编程顾问 找到合适、对金融市场和交易技术了解较难,策略保密,(1、绝大多数策略很多有经验交易员都知道,2、如果交易量大,他们不会对你产生影响,3、任务可以分拆,参数设置错的。
    最小化交易成本:避免交易低价股,需要买进卖出更多股票,还有买卖价差,应根据流动性来限制指令 规模,常用指标(平均日成交量的1%)
    还可以根据股票市值来决定指令规模,为了避免组合剃掉绝大多数小盘股,和获得分散化好处,在满足交易量要求上,可设置股票资本权重与其市值的四次方根成正比。还可采用指令拆分
    4、建立自动交易系统和,用经纪商提供仿真交易账户来测试不要低估开盘前准备指令所需时间,作者每天早上大概花费20分钟下载、分析所有历史数据
    15分钟将所有指令传送到我的账户。
    仿真交易是纯粹样本外测试,运行一个月,极有可能发现过度拟合。
    5、实际业绩偏离预期原因  自动交易系统软件是否有漏洞,自动交易系统生成交易与回测程序生成是否匹配,执行成本是否高于预期?是否交易了流动性差的股票从而导致市场冲击?两个最令人头疼原因:数据迁就偏差和状态转换,前者按照以前介绍分析调整,后者列举两个例子:统计套利利润消失(来至于股票价格采用十进制报价),另一个为卖空股票
     
    第6章:资金和风险管理
    最大回撤在可接受范围内,最优杠杆水平,不同策略之间的资金分配
    6.1、最优资本配置和杠杆 Edward Thorp博士论文进行很好的说明 1997
    F=C(-1)M    C(-1)为C矩阵的逆,C(ij)表示第i个策略和第j个策略收益率的协方差,M=(m1,m2,m3,....,m(n))T表示策略平均收益率的列向量
    F=(f1,f2,,,,,f(n))T, 表示分配到n个策略的最优净值比例,T为转置,收益率为单利单期无杠杆收益率,如:买入1美元A股,卖出1美元B股,获利0.1,m为0.05
    假设所有策略统计上独立,协方差矩阵变为对角矩阵,f(i)=m(i)/(s(I))^2,这就是煮面的kelly公式。
    采用上述资本配置和杠杆,最大复合增长率是多少呢? g=r+S^2/2   S为sharpe
    附录:g(f)=r+fm-(s ^2*f^2)/2  f:杠杆 r:无风险利率 m:平均非复合单期超额收益率 s非复合单期收益率标准差
    按照kelly公式,随着净值变化,需要对资本配置进行不断调整,以保证其最优。应至少在每个交易日结束时做一次资本配置调整,用最新的资本净值*最优杠杆
    总结:可以用kelly公式决定最优杠杆和不同策略之间的最优资本配置
    6.2风险管理
    无论风险管理方案是否基于凯利公司做出,亏损减仓都是风险管理惯常做法。
    金融传染会影响许多其他大型对冲基金。大家一起抛售
    模型风险、软件风险、自然灾害风险
    当莫人错误地建立了头寸(由于软件故障,操作失误,或者数据问题)并发生大额亏损是,一旦发现错误,理性的做法是立刻清仓。然而,交易员往往幻想等待均值回归,从而能减少交易亏损。除非均值回归模型表明当前就是建仓的最佳时刻,等待均值回归很可能导致更大的亏损。
    没有系统能避免所有会导致亏损的市场异常状况。
    如果认为系统真的有缺陷,并打算调整,同样要对修改后的版本进行回测,以确保它能够在足够的回测期,优于原系统。
    恐惧和 贪婪,当交易模型处于巨大,持续的回撤中,会引起恐惧。恐惧和贪婪都会导致过度杠杆化。
    可以从小额组合开始,逐渐做好心理准备、训练有素并获得对模型的信心。
     
    第7章 量化交易专题
    7.1均值回归策略和惯性策略 作者提供一个成功预测某只股票状态转换的例子。
    回测一个盈利的均值回归策略可能很不可靠。只有彻底清除了虚构报价后,才能够完全相信均值回归策略的回测业绩。
    存活偏差也会影响均值回归策略
    没有人拥有他需要的所有信息以便做出一个完全有根据的财务决策,人们不得不依赖其他人的判断。
    套利交易策略之间激烈竞争,会导致套利机会消失殆尽,均值回归策略就危险了,因为越来越多的交易信号来至于股票估值的基本面变化,而这不会均值回归。FRM中利率模型
    7.2状态转换  使用机械学习工具在股市的状态转换获利
    7.3平稳性和协整性  配对交易
    如果一个时间序列不会越来越大地偏离初始值,这个时间序列就是平稳的。如果平稳,就很可能适用于均值回归策略。
    配对的市场价值是平稳的。在这种情况下,两个独立的时间序列被称为‘协整‘。配对中的两只股票来自于同一行业,在价差高的时候卖出配对——这是金典均值回归策略。  举例:黄金ETF(GLD)与采金企业ETF(GDX),具体份数通过对两个价格序列回归得到。
    7.4因子模型 APT Fama-French三因子模型
    主成分分析:必须假设因子风险在估计的时间段内是不变的。(时间独立)
    7.5清仓策略:主要有几种:固定的持有期,目标价格或盈利上限,最新的建仓信号,止损价格
    在一个均值回归模型中,基于持有期或盈利上限的清仓方式比通过止损清仓更加合理,因为止损就意味着你在更加极端的情况下清仓。
    7.6季节性交易策略(日历效益)
    一般:建议在每年的固定日期买入或者卖出某种证券,并在另一个固定日期平仓。据作者所知,目前很多股票市场上的季节性交易策略都已失效,商品期货上还有部分可以盈利。最著名的交易策略是:一月效应,一个版本:前一年收益率最差的那些小盘股,在第二年一月份的收益率会普遍高于前一年业绩最好的那些小盘股(signal,2016),可能是因为税收原因。
    季节性股票策略:每个月买入大量去年这个月业绩最好的股票,同时卖空同样数量去年这个月业绩最差的股票。作者测试最近好像失效
    商品期货季节性交易策略有利可图  价格在临近夏季自驾高峰前总会有一段上扬
    汽油期货的季节性交易  只需临近4月中旬买入5月份到期的汽油期货合约,并在4月下旬卖出就可以了。
    天然气期货策略  临近2月底买入6月到期天然气合约,并在4月中旬卖出    出于空调用电需要,发电厂在临近夏季时对天然气的需求增加
    缺陷:一年做一次,无法判断是否过拟合  可以选择不同建仓和清仓时间来考察    一定要有实际经济意义
    高杠杆优于高贝塔组合吗?  fama-french   低贝塔,高杠杆 ===?  高贝塔吗?
    三因子模型投资组合收益率与它的贝塔值成比例。换句话说,我们可以通过提高杠杆水平或者提高贝塔值(选择高贝塔值股票)来提高投资组合的收益率。事实上,可以通过提高一个低贝塔值投资组合的杠杆使其收益率与高贝塔值投资组合的收益率相当。假设两个投资组合有相同的平均市值和账面价值,忽略特有收益率,两个组合等价吗?
    答案是否定的,并且与直觉相反。在使用凯利杠杆条件下,投资组合长期复合增长率与夏普比率的平方成正比,而不是与平均收益率成正比。所以,如果两个投资组合的平均收益率相同,我们应该选择风险或标准差较小的那个组合。实证研究表明,由低贝塔股票构成的投资组合往往风险较低,夏普比率较高。
    例如:PanAgora资产管理公司Edward Qian博士在《风险对等组合》(未公开发表)中写道,股票和债券60-40的资产配置并不是最优的,因为他风险资产过大(股票)。如果想保持风险水平不变的情况下,实现更高的夏普比率,qian博士建议23-77的股票和债券配置,并使用1.8倍杠杆。
    注意::所有这些结论都是基于收益率服从正态分布假设,真实收益率分布具有厚尾特征,对低贝塔股票使用过高的杠杆并不是明智的。
    总结:协整性与相关性不同,协整性考察的是两只或多只股票价格的长期关系,而相关性与短期收益率有关。
    止损适用于惯性策略,但不适用于均值回归策略。
     
    第8章 结语:独立交易员能否成功?
    关键就是‘容量’,越小资金获得较高夏普比率要容易的多。许多简单且可盈利的策略对小容量有效,但大型对冲基金,这些策略可能不适用,这给独立交易员提供了生存空间。
    任何施加在最优化问题上的约束条件都会降低最优值。
    许多盈利的小容量策略其实就是在扮演做市商角色:在市场需要流动性时提供流动性,在流动性需求消失时走人。但是,如果管理着几十亿美元,你变成需要流动性一方,就不得不为获取流动性而支付一定成本。为最小化流动性需求成本,你只能持有头寸较长时间,这可能会遭遇不利的宏观变化(如状态转换)。
  • 相关阅读:
    mysql修改时区time_zone
    magento的布局(layouts)、模块(block)、模板(templates)
    唯品会消息网关的架构定位
    Java应用一般架构
    maven打包命令
    端口查看与封杀
    java程序优化
    高并发下竞争的资源
    java中的多线程高并发与负载均衡的用途
    Web负载均衡的几种实现方式
  • 原文地址:https://www.cnblogs.com/bawu/p/6788924.html
Copyright © 2011-2022 走看看