交易系统是利用大量的历史数据来进行统计和分析的,而要面对的是未来的市场行情,未来的市场行为几乎不可能正好是过去行为的重现。
但是对于所有的交易系统模型来说,它们都是通过历史数据推导出来的结果。因此交易者往往只能寄希望于市场的历史行为与未来行为有着非常强的正相关的关系。
在程序化交易系统中往往包含着一些指标和一些参数的设置。一般情况下,交易者会通过对历史数据的分析和研究来选取这些参数。那么系统开发者就必须在研发的过程中采取一定的方式方法来弥补这一缺陷,进而保证交易系统的稳健性。
当然,这个道理尽管人人都明白也非常的简单易懂,但并不是所有的交易者都能够做到,对这个问题的低估导致了系统研发过程中大量问题的出现。
当然程序化交易还是有很多优点的,它最大的优点是可以强迫交易者摆脱那些破坏交易的行为,从而养成良好的交易习惯。
这个过程是漫长和痛苦的,但是对于想要成功的量化投资与程序化交易者来说,这是一个磨练的过程也是一个有效的工具,它可以让交易者学会遵守纪律、控制情绪、坚持风险管理机制,具有耐心。
定量化风险和回报是程序化交易的另一大优点,交易者可以得出整个交易策略的风险回报比,风险回报的定量化可以对未来收益进行预测。我们常说谨慎的价格风险管理并不依赖于交易系统本身。
但是如果将交系统的历史表现与当前表现进行比较的话,就可以发现预计收益与目前收益之间的偏差是否在我们的容忍范围内。
程序化交易最后的一个大的优点是:由于程序化交易系统依赖于数学计算,所以就不需要交易者拥有特别专业的金融知识,但是对于基本面分析的交易者来说,就需要对市场的各个方面都有着深刻的认识,甚至是可以直接使用L2行情接口进行交易,可以更快速提高交易效果,赢得一定的收获。
同时交易者还可以在负相关或者地相关的市场中对应不同的交易系统,借此来应对不同的市场情况。
L2行情接口的TickRecord (逐笔成交)示例:
字段名 | 类型 | 备注 |
stock_exchange | uint32 | 证券市场,1-SH,2-SZ |
stock_code | string | 证券代码 |
created_at | int64 | 成交日期时间戳(毫秒) |
code | string | 成交编号 |
price | uint32 | 成交单价 |
volume | uint64 | 成交数量 |
amount | uint64 | 成交金额 |
tx_dir | uint32 | 交易方向:0-未知,1-买方成交,2-卖方成交 |
tx_kind | uint32 | 交易类型:0-成交,1-撤单 |
buy_order_seq | string | 买方委托序号 |
sell_order_seq | string | 卖方委托序号 |
返回示例: