规则定好了,还在手动执行
就算规则已经定下来,靠人手执行还是会被交易时段绑住,会错过条件成立的那一刻,同样的情形每次判断得还不一样。可要是直接把代码接到实盘,结果不好时你分不清是规则错了还是代码错了。把规则写成代码,和能验证这份代码是否照规则运行的环境,这两件事得凑齐才成立。
具体做什么
-
把规则变成条件式
把进场、离场、止损、仓位、禁止再次进场这类条件,从一句话变成代码能判断的表达式。还留着含糊的条件,就用提问一直收窄到能写下来为止。
-
能拿历史数据跑的环境
让同一份代码可以在过去的区间上跑一遍。手续费、滑点、成交这些前提取了什么值,也一并写下来,因为没写前提的结果是读不了的。
-
对接券商与交易所
下单、成交、查余额都走真实 API,认证密钥放在代码之外管理。各家的开放范围和条款不一样,接之前先确认。
-
先从模拟盘开始
接实盘之前,先把同一份代码放到模拟环境里跑。订单是不是照规则发出去,最好在真金白银上场之前就看清楚。
-
该停的时候停得下来
连接断开、订单被拒、同一笔订单要发第二次、当日亏损触及上限,这些情况下该怎么做,都写进代码里。
-
记下下了什么单、为什么下
哪个信号、什么时候、下了什么单、怎么成交的,都留在日志里。以后要改规则时,看的就是这份记录。
交付的文档
把策略规则整理成人能读懂的句子,写明验证跑过的区间与前提、日志怎么读、怎么启动和停止。至于业绩怎么解读、要不要投,那是这份文档之外的事。
这样推进
-
整理规则
把你现在用的规则用文字写下来发过来,表格或备忘录的原样也可以。
-
确定条件式与范围
先改写成代码能判断的形式,再定下做到哪一步、需要多长时间。
-
实现与验证环境
策略代码、跑历史数据的环境、对接,一并做出来。
-
模拟运行与交接
在模拟环境里跑过确认之后,把代码仓库、启动方法和文档交给你。
适合这些情况
- 规则写在表格或备忘录里,现在还靠手动执行的人
- 想把正在用的规则放到过去的区间上跑一遍看看的人
- 打开了券商 API 文档,卡在认证和下单上的团队
常见问题
- 能赚钱吗?
- 我们不承诺业绩。交付的是按你定的规则运行的软件,以及能拿历史数据检验这些规则的环境。策略行不行、怎么决策、盈亏如何,都在你这边。
- 策略也帮忙想吗?
- 策略由你来定。我们负责把规则写成代码并做成可验证的样子。规则现在只是几句话也没关系,我们会一路提问,直到它变成代码能判断的条件。
- 这算投资顾问或代客操作吗?
- 不算。我们只做软件开发,不推荐标的或买卖时点,也不代为操作账户。账户和认证密钥始终在你手上。
- 能对接哪些市场?
- 只要券商或交易所开放下单 API 的市场都可以接。不过各家的开放范围和自动下单相关条款不一样,告诉我们你用哪一家,我们先确认可行范围。
- 源代码归谁?
- 归你。代码仓库、启动方法和文档一并交付,让其他开发者能接手。
- 做完之后也能帮忙运维吗?
- 这项服务做到交付为止。如果之后还需要持续照看,可以转成维护代运营继续。