- UID
- 2
- 积分
- 2874634
- 威望
- 1387346 布
- 龙e币
- 1487288 刀
- 在线时间
- 13156 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-11-24
|
一名交易员的量化投资路线
所谓量化投资,简单地说就是利用数学、统计学、信息技术的量化投资方法来管理投资组合。量化投资者搜集分析大量的数据后,借助计算机系统强大的信息处理能力,采用先进的数学模型替代人为的主观判断,利用计算机程序在全市场捕捉投资机会并付诸实施,克服了投资者情绪波动的影响,使投资的稳定性大为增加,避免因市场极度狂热或悲观的情况而导致做出非理性的投资决策,以保证在控制风险的前提下实现收益最大化。用一句话说,就是利用电脑帮助人脑处理大量信息。
量化交易的独特性
量化投资可以将其简单地概括为利用数量化统计分析工具构建相应的数据模型,并通过计算机处理从而实现投资思想和投资理念的一种策略。与传统投资相比,量化投资存在一定优势:
量化投资与传统投资相比范围更加广泛。
量化投资完全可以避免人为主观因素的影响。
量化投资的研究方法更具有统计价值。
量化投资与传统投资相比范围更加广泛
传统投资受到投资人的精力和专业水平等因素的限制,其所能跟踪的投资标的只能局限于某个特定范围。而量化投资则因借助了计算机技术因此大大增强其挖掘信息的广度和速度,使其投资分析的范围几乎可以覆盖整个市场,而且可以在投资过程中将更多影响因素纳入其中,包括宏观因素、流动性、波动性、盈利能力、成长性、估值等等。由此可见,量化投资可以多角度分析且实现全市场范围的品种选择,这一优势也使其能捕捉更多的投资机会。
量化投资完全可以避免人为主观因素的影响
量化投资在操作中会严格遵循投资模型给出建议,而传统投资策略则往往会受到投资人主观因素的影响,包括投资人的情绪、个人偏好、身体状况等等。量化投资以统计分析和投资建模代替投资人依靠直觉主观判断,克服了人性的弱点贪婪、恐惧、过分自信、侥幸心理、情绪化等,使投资变得更为理性和客观,大大降低在投资决策过程中人为主观因素对于投资行为的影响,避免因此做出不理性的投资决策,从而影响最终的投资收益。
量化投资的研究方法更具有统计价值
量化投资是利用数据统计分析工具总结历史规律或捕捉投资标的定价偏差从而发现投资并且较大概率获得投资成功。量化投资的投资体系不掺杂主观情绪和认知偏差,因此更为客观。同时计算机强大的数据处理能力也使得信息挖掘更为充分全面。此外,量化投资的每一个决策背后都有模型支持、数据支撑且经过历史检验,因此更为科学严谨。而量化投资更为科学客观全面系统的研究和投资系统也使得投资人在风险可控的前提下更为准确地把握投资机会,更大可能地实现收益的最大化。
量化投资体现在纪律性、系统性、及时性、准确性和分散化,并能通过这些特点创造出有效的交易价值。
量化交易的主要策略体系
市场中性策略:ALPHA。
套利策略:统计套利,期现套利,分级基金套利,ETF套利。
CTA期货策略:期现套利,传统趋势策略。
市场中性策略:
市场中性策略是指做多股票/同时做空股票衍生品的,通过这类组合来减少对某些风险的暴露;最典型的策略组合是Alpha策略,通过构建相对价值策略来超越指数。
例如筛选一揽子中证500的强势股票,再用500指数,或者ETF期权,ETF基金等等来对冲投资组合的系统风险,获得额外的收益。
因为买入的股票和卖出对冲衍生品价值相等,这样就中和了市场整体风险,净值与市场涨跌无关,这就是“股票市场中性策略”的由来。国内对冲策略产品大多采用买入现货、卖出期货的对冲策略,期货价格和现货价格之间的差异会影响策略表现。
套利策略:
统计套利:是将套利建立对历史数据进行统计分析的基础之上,估计相关变量的概率分布,并结合基本面数据进行分析以用以指导套利交易。相比于无风险套利,统计套利少量增加了一些风险,但是由此可获得的套利机会将数倍于无风险套利。
统计套利通过对相关证券进行对冲来获得与市场相独立的稳定性收益。在价格出现背离走势的时候买进表现相对差的,卖出表现相对好的,当趋势慢慢回归正常区域时候,就可以获得相对稳定的收益。它的风险在于如果市场并未按照预想出现价格回归,而是进一步扩大价差,可能会产生风险。
期现套利:期现套利是指某种期货合约,当期货市场与现货市场在价格上出现价差偏离,低买高卖而获利。当现货指数被低估,某个交割月份的期货合约被高估时,投资者可以卖出该期货合约,同时根据指数权重买进成份股。当现货指数被高估,某个交割月份的期货合约被低估时,如果允许融券,投资者可以买入该期货合约,同时按照指数权重融券卖空成份股。和统计套利类似,它的风险在于期货和现货的价差并未收敛而是进一步扩大。
ETF套利:ETF(Exchange Traded Fund)交易型开放式指数基金,通常又被称为交易所交易基金。由于其有两个价格,即基金净值和交易所交易价格,所以一旦两个价格相差过多时,就可以高卖低买套利。风险在于交易价格随时波动,较难捕捉,也可能会有流动性困难。
分级基金套利:一般分级基金有5个价格,母基金净值,A类份额净值、A类份额交易价格、B类份额净值、B类份额交易价格,正常情况下,A的净值+B的净值=2*母基金净值,当(A的交易价格+B的交易价格)大于或小于两倍母基金净值时,也可以通过高卖低买获利。
CTA期货策略:
CTA即商品交易顾问。CTA期货包括套利策略,趋势交易策略。目前CTA运用最广泛的是趋势交易策略,通过运用大量不同的指标去除市场噪音并寻找当前的市场趋势,然后建立头寸,他们从市场趋势中获得利润。
总结:策略筛选决定投资的方向,例如国内兴起的FOF基金,对于资产配合这块需要不同类型的投资策略,会筛选不同的投顾。每一方面能有成绩都会有不错前景。
给出一份FOF基金公司寻找投顾的一些要求,具体归纳为下:
具体的策略逻辑是怎么样的(例如如何选股/择时/套利/趋势/反转等)?策略组合是如何构建的?
中长期看策略盈利所依赖的最重要市场特性是什么、这些市场特性的可持续性如何?
交易平均持仓周期多长?涵盖品种有哪些?
产品中各品种/各策略的仓位是如何分配?整体仓位有无加减仓机制,总仓位上限多少?隔夜仓位、日内仓位各多少?
团队投资体系的最佳资产管理规模是多少?最大的资金容量是多少,最低资金规模要求是多少?目前管理的资产规模多少(如果有,请列出估计资金容量过程中的前提假设)?
风险是如何控制的?特别是当净值在面值以下的情况下,团队将采用哪些具体措施控制下行风险(仓位、策略等方面)?盘中风控是如何实现的(例如日内回撤超过一定幅度,如何对仓位进行处理等)?
如何应对极端行情下的风险?股指期货交易受限制后,是如何进行应对的?
交易平台的选择
国内平台这块,以期货量化平台较为成熟,包括以下一些交易平台。文华赢智程序化交易、交易开拓者、金字塔决策交易系统、达钱&multicharts。
文华赢智程序化交易
文华财经在期货市场占用的人群应该是最大的,采用麦语言开发模型和指标。在量化模型研发方面,赢智提供了国内股票和期货的全部品种历史行情数据,同时提供了丰富的行情函数、账户和交易的部分函数和一些统计函数用于策略开发,还提供了丰富的策略回测报告项作为策略绩效评估的依据。文华财经编程相对简单,对于刚刚想入门这个市场,又没有编程经验的人来说,文华财经是首选。
缺点:本人觉得在跨周期期方面还是有一部分问题。
金字塔决策交易系统
金字塔决策交易系统(下称金字塔)采用VB脚本语言开发策略模型,支持接口二次开发,灵活性相对较高。支持外接统计数据库和专业的统计分析软件Lib库做扩展,在量化交易方面,除了支持图表驱动的程序化交易外,也能进行算法交易和较复杂的对冲交易的实现,目前市场占有率不是太高,单纯的编程也是相对容易。
缺点:本人认为金字塔软件如果图表开的过多很容易导致软件崩溃。
交易开拓者程序化交易平台
交易开拓者(TB)采用语法类似Pascal的TBL语言开发策略模型,采用图表买卖信号驱动交易下单。在量化模型研发方面,TB提供了国内期货和股票多周期的历史行情数据;提供了较为全面的行情数据函数、账户和交易函数、统计函数用于策略开发;提供了丰富策略回测报告项作为策略绩效评估的依据。在量化交易方面,单个TB终端支持多个单品种的图表并发接收行情并交易,不使用高频交易。市场占有相对较大,编程难度相对适中。
缺点:数据稳定性有待考虑,TB自身带的服务器并不多,编程这块陷井相对较多。
达钱&multicharts
达钱&multicharts自动化交易系统(MC)采用power language开发,达钱提供行情和交易网关,multicharts实现策略开发和执行平台。在量化研究方面,MC提供了股票和期货历史行情数据,包含大量的函数供调用,继承了TS里面大量的函数库,属于一款比较优秀的软件。目前股票端支持雷达屏监控一篮子股票,可以用于回测与交易。
缺点:MC如果出现网络中断,会出现行情丢失的情况,其次接口被达钱封死。
高端量化交易
以python、JS、C++、MATLAB、R为主,重点介绍以下研究股票端的,包括浏览器端的米筐、优矿、聚宽、果仁等等,客户端包括VN.PY、quicklib、掘金、WIND等等。
米筐、优矿、聚宽都以python编程为准,果仁提供JS浏览器端编程,相对来说可能在速度上有一定的优势。但是这几个都是浏览器端平台,用于研究我觉得没问题,真正用于实战交易,我可能不推崇,大幅度我更喜欢是自己造轮子,选一个框架,例如找个回测框架等等,但是相对来说难度较大。已经造好的以VN.PY为准,里面提供了大量的接口供选择,开源免费,首先感谢作者。
对于这一类的学习,需要的精力可能相对来说要大一些,但是优点也是明确的,作为本人是一名python爱好者,如果量化这块,首先推荐python,很多人可能为matlab打抱不平,有人说为撒大学学matlab不学python,这个问题我不想讨论,python的优势在于他的灵活性,python可以看成是一门编程语言,在设计各种实战上有说不上的优势。
总结,想个人研究股票这块,建议米筐,优矿,聚宽,果仁选一个,上面也提供大量的策略供学习。如果要进入私募做后台开发,那必须得自己造轮子,选择一个开源的回测架构,自己来组建。语言编程推荐学习python。期货端如果个体研究建议TB,MC。以上都是工具,最终要回归到策略,策略的好坏决定你做这块的价值
一个系统的形成
我们在研究一个系统的时候一定要考虑策略背景,这里我不扯过多的理论知识,我觉得没有价值,为撒如此多的研究生,博士,或者学校教授在金融这块并没有取得优秀的成果?一个原因,理论知识拿到市场不一定能成功,并不是否定他的价值,而是在于金融这个词比较广,如果你在走定量分析,并想把一些书本上学到的东西搬到金融市场,还是需要从本质上去抓问题。好比定价模型,模式书本上都有,但是否能做出有效的东西?这个需要经验的积累来变相的运用你学习的知识。
策略背景
如果要研究一个策略,你的由衷是如何来的。他基于什么?这个其实很关键的,我们去观察国内外经典策略会发现,他们都很简单,但是却经典有效,这说明了什么?
难道真的就是简单?实际不是这样,都是相互关联的,比如短线交易秘诀里面,拉里提到大区间小区间,衍生到不同的类型的策略是基于市场波动而言的。有逻辑支撑。这里我们不去讨论复杂的套利这些模型,我们就以传统策略而言,大家可能会发现,大幅度研究策略的都在找所谓的因子,什么因子算有效?看到更多的是一堆没有逻辑的因子组成一堆,最后产生了一条漂亮的曲线,最终形成了一个自我满足的策略,但这块是否有效,是否敢实盘,这你比我清楚。
基本思路
一个策略的交易思路是什么?如果你把自己定义为趋势交易者,那么你就保持你趋势交易的逻辑,去追随市场。这块说起来容易做起来难,但是我们可以先假设,先假设市场就是盘整阶段。而且市场肯定会由盘整到趋势。在这里面去寻找一个支撑阻力位,当破了过后,站稳你可以认为是朝突破方向的趋势。
这就是一个趋势的定义,这里举的就是一个例子,如何开仓。那么就可以按照这个方向一直做,你可以用各种各样的指标,或者一些其他类型的算法等等。趋势不一定正确,但是这得明确。大幅度人是看着涨了就去做多,跌了就去空,日内来回做,最终却是亏损的,可能你交易的越多亏损越多,市场是有成本的。你的交易统计也是基于成本而统计的,当你的一个系统除去成本可能能赚很多钱,但是覆盖成本缺是亏损,那么成本筛选也显得十分重要,当你的系统不能覆盖高额的成本,对于一个品种而言他的交易是没有价值,可能曲线非常漂亮,但实盘的价值是没有的。但在统计之前,我们不需要考虑在内,最后在赛选的时候去过滤掉你不能做的品种。
策略算法
常用的几种算法有以下几种:
TWAP模型:时间加权平均价格算法,是一种最简单的传统算法交易策略,主要适用于流动性较好的市场和订单规模较小的交易。该模型将交易时间进行均匀分割,并在每个分割节点上等量拆分订单进行提交。例如,可以将某个交易日的交易时间平均分为N段,TWAP策略会将该交易日需要执行的订单均匀分配在这N个时间段上去执行,从而使得交易均价跟踪TWAP。
VWAP模型:成交量加权平均价格算法,是目前市场上最为流行的算法交易策略之一,也是很多其他算法交易模型的原型。该模型是将一段时间内证券价格按成交量加权得出的平均值,即VWAP是对一段时间市场上所有交易活动平均价格的衡量。
PoV模型: PoV,比例成交算法,同样也是市场上广泛流行的交易算法之一,是VWAP模型的一个改进,算法天然具有反馈修正的能力。该模型使用实际成交量作为指标,因此在交易时段内总是按照市场成交量的一定比例交易剩余的头寸。
在这里提到VWAP,这个在金融领域里面用于传统策略交易用的还是相对较多。常用的算法相对较多,可能是一种简单算法,比如一套系统的规则等等。举例:我们如何构建箱型交易系统?
策略基于k线形成的区域设置进出场价格, 通过价格的上下突破来进行交易或取消做单k线区域按时间顺序从左向右共由4根k线组成, 最左边的k线标号为3。如果1号k线收盘价高于3号k线最高点, 开始设置做多交易区域, 上轨为3号K线高点, 下轨为标号为1起CancelFlagN根K线的低点。如果标号为0的K线收盘价在上下轨之间, 则做多区域设置成功, 如果收盘价低于下轨则区域设置取消。如果1号k线收盘价低于3号k线最低点, 开始设置做空交易区域, 下轨为3号K线低点, 上轨为标号为1起CancelFlagN根K线的高点。如果标号为0的K线收盘价在上下轨之间, 则做空区域设置成功, 如果收盘价高于上轨则区域设置取消。
进场:
做多区域设置成功时, 当前k线高于标号为0的K线高点时入场做多。
做空区域设置成功时, 当前k线低于标号为0的K线低点时入场做空。
出场条件:
基于ATR的保护性止损。
基于ATR的盈亏平衡止损。
基于ATR的盈利止盈。
对于上述简单规则就是一些简单逻辑算法,这样是否就构建了一个简单的交易系统?
以上规则可以用不同的编程语言实现?这取决于你熟悉的编程环境。
实证分析
将上述规则设计好后,可以去尝试在各个品种上进行统计测试。对于品种筛选,我们要做的是市场上具有价值的品种,比较在期货市场,你去选成交量小的品种,就算测试曲线表现漂亮,他可能也没有价值,单笔滑点可能达到你不能估算的范围,这是大概率时间,这样的品种测试没有价值。当然我们应该选择主流交易品种,好比股票,你不出找涨跌流畅的股票,一直在要死不活的票上来回操作,只是加大了自己的成本而已。那么那些品种更有价值?
品种筛选
从板块去选主流,比如期货市场,黑色螺纹是主流品种,流动性,以及趋势性相对较好,不要去和市场较劲,其实选品种比做一个策略更有价值,好的品种你可能用非常简单的方法就能赚钱,不好做的,你再牛逼的方法可能都要赔钱,大幅度人一直在做高频端的研究,很多时候研究没有价值,比如我认识的一个品种在商品上,去找了一个不起色的品种,利用盘口量来做交易,当交易所稍稍加一下手续费,就导致成交量下降,成交量下降,流通性就差,可能你花了很大的精力,最后是一个废品。你在主流的品种上做研究,最后就算市场变化,整体影响不大,你的策略价值就体现的越久。
品种筛选
参数筛选:这个话题如果讨论就有点长了,这里我也不想过多的讨论,很多类型的测试都在讨论样本内与样本外测试。用这种方式去防止自己的参数是否过渡优化。你可以把市场分成2段或者3段,第一段用于统计,第二段看看自己的参数表现的效果,但是实际不一定多有价值,除非在大数据统计下,你测试的样本越多,可能越能接近实战参数,但对于传统交易而言,更多的经验值的取舍,这显得十分重要,比如有人取有效交易天数,一周交易5天,一个月是20天,这个20就显得很有价值,很多经典的指标都以这个值为基准,这里到实战中更多的取舍都来自于你长时间的经验值,防止参数过渡优化,记住我们一定要去找平原值,而不是去寻找山峰。无论你是传统交易,或者算法交易,统计套利等等,都是一个逻辑。
资金管理
这个显得很重要,一波行情来了,你是否能持更大的仓位,行情不好的时候,你能否把仓位调整到更小,在大类资产配置会显得更加严格。你的策略很牛逼,可是你的仓位不合理,行情好的时候你赚钱了,其实结果等于没赚一样,你可能连市场的平均业绩都跑不过。
我比较喜欢的一种是资产平均值,举个简单的例子,我更喜欢在盘整行情中去布置自己的仓位,这个时候你可以把仓位调整到最大,比如你同时持有 了N个品种,多空单相对平衡,你的策略属于中期策略,一般是把你震荡不出来,那么你可以激进的把仓位配置进去,因为当趋势来的时候,你错误的仓位会慢慢出来,持有正确的趋势,假如你进场的仓位为80%,最终其实走 了一个止损到加仓的过程,一开始错误的仓位不断止损,正确的持有,趋势越来越明显,错误的仓位开始反向,最终形成了一个加仓的过程,一旦利润较大,可以手动出一半的仓位。这对于一些个体交易员而言是一个不错的方法,如果涉及到大类资产配置,这就相对复杂,我没有这个精力和时间继续讨论。
以上只是算的上一个量化简单过程介绍,我不能告诉你我能马上教会你什么,我也是一个市场学生,也需要更多的积累。这个市场变化的速度远远大于我们学习的速度,最终的回报不一定好,可能会熬上几年,或则更久,身边的很多朋友属于比较有钱,进入这个市场后,并没有那么多彩,老股民一混就是几十年还在战斗,新人也在不断的进入这个市场。要想在这个市场上生活,可能并不是知识的积累,它体现的更多的是人为因素。到此结束。 |
论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
|