个人如何实现程序化交易?




有没有可能通过炒股软件等其他方式实现程序化交易?




这个问题我居然没有答,真是惭愧。

感觉每个开始往程序化交易上靠的人都是在股市里赔光了内裤钱的人。(好吧,夸张了一下)。

我自己一直金融专业,在HF实习过一段时间,有些接触。后来自己开始找了个平台做量化策略研究。

一提到程序化交易,很多人会觉得要自己做整套的交易系统,拿数据,做各种模块。然后想想就觉得门槛太高不适合自己。还有很多事CS转来做的,要恶补很多金融证券的知识。

国内几个比较大的量化平台,我很中立的说,各有各的优劣,但是自己用习惯了也是常驻的是JoinQuant。给个推送门:JoinQuant聚宽量化交易平台

包括我在百晓知道,很多人问起我也是这么推荐。研发能力很强,跟进和改进速度快,API也提供的很全,写策略非常的方便。同时自己也在上面做些小研究,写些策略。po几个大家感兴趣关注一下:

【简单的多均线择时策略】那个天台排队的孩子,我给你讲个故事
【回测来啦】——鳄鱼法则交易系统,15年至今114%
【网格交易策策略】-网格大法好,熊市不用跑~
【滚动复利策略】的量化实现
三高五低,一种基本面选股思路的验证
【组合管理】——投资组合理论(有效前沿)

===================分割线================================================

回到正题,我给题主的建议就是,

1. 学一门编程语言。很多平台用python,也可以选择matlab/C++/Java自己搭系统后面几个不太熟悉,就不多讲。至于python的话,很多第三方库很好的支持做数据处理,简单好上手。

2. 多看一些投资理论、量化交易和数据处理类的书籍。这部分知识是为了生存策略修炼内功用的。

3. 找一个好的靠谱的平台,边练边学。之所以用JQ顺手了也一直在上面做研究和回测,因为答主本身编程水平一般,社区里很多策略源码分享,可以边看边学,比自己捧本语法书从零学起要快很多。

以上。希望能解答你的问题。




1、交易策略的设计

首先要明确交易策略的属性(趋势型、波动性、套利型…),也可以是以上多种简单交易模式的综合应用,然后根据所要交易的品种价格波动特性和所要交易的周期来制定交易策略,交易策略中设定目标利润和允许最大亏损,以及具体止盈止损点的设置。

2、模型的编写

首先要选择一个程序化交易平台,目前国内较为流行的程序化交易软件包括文化的赢智,交易开拓者(TB)以及金字塔等等,不同的交易软件程序语言具有不同的特点,包括语句语法结构、函数构造等都有所不同,投资者结合自身选择一种语言便可,然后将自己的交易策略通过计算机语言来实现。 以文华赢智程序化交易平台为例,下面的程序代码为一个简单的波动性突破的交易策略,波动性的定义为:最高价与最低价、当根bar的最高价与上一收盘价、当根bar的最低价与上一收盘价,这三组价格差额的最大者即为该品种的波动性值,波动性既可以进行横向比较品种间的波动性水平,也可以用于纵向判断价格波动的异常,并作为入市信号的触发器,具体操作为:若当前价格波动突破此前波动平均水平时,开仓进场;当前价格波动回落合理范围内之后进行平仓处理。

3、模拟交易

投资者可以通过使用程序化交易软件对自己的交易策略进行模拟交易测试,以便于投资者对自己的交易思想进行评判和改进,在进行仿真测试时需要注意一下几点:回测的bar周期要与策略制定初期相吻合;回测的时期长短的选择,一般来讲回测效果较好的策略对近期行情有较好的指导性;测试报告的分析以及对仿真测试的理解,在测试报告当中要对最终收益率、资金最大回撤、收益风险比、连续亏损次数等多项指标综合考虑。

4、参数优化

对参数的优化要注意一下几点:

(1)、优化所用为历史数据,对未来的指导性强弱还有待于探讨;

(2)、模型开发要有理论基础,不能依赖于参数最优化;

(3)、回测中长期的最优化参数,或许对短期行情来讲是一个不错的选择;

(4)、过度最佳化的参数对后市的指导性不一定最好;

(5)、要考虑交易成本和滑移价差对投资结果的影响。

5、实盘交易

在实盘交易之前,建议投资者先进行模拟实盘跟踪交易,观察交易策略的稳定性后再进入实盘交易,特别是对于投资经验较少的投资者来说更为重要。