作者heuristics (阿弟牯)
看板Trading
标题Re: [问题] 大家都怎麽学程式交易 建立交易模型的
时间Sat Jan 7 23:41:35 2017
程式交易有两种。
指标交易-用指标当作判断式的条件,决定进出场
一般人会接触到的程式交易 (或称 EA) 这种居多,
脸书或 Line 看到获利满满的也是这种居多,但会让人看到获利满满的,小心是诈骗。
要入门指标交易,学习为交易而生的程式语言还有对应的交易及开发工具最有效率,
例如外汇有 MetaQuotes Language 还有对应的 MetaTrader,
MetaQuotes Language 帮你实作好许多指标,你只要呼叫函式,它就给你结果,
而 MetaTrader 帮你处理好程式交易所需的一切,你只要专心发展你的策略。
指标交易要再深入一点就是自己创新的指标。
另一种程式交易是
演算法交易-用机器学习或其他演算法,决定进出场
我们在交易其实是在做一件事,就是是用现有的价格 (或其它资讯) 去预测
晚一点会涨还是跌 (分类),甚至预测晚一点的价格 (预测)。
在这很多领域例如影像、声音或文字都有类似的问题 (分类跟预测),
电脑科学为此早就发展了历史悠久的机器学习去解决这些问题,
既然机器学习是在解决分类跟预测的问题,理所当然也可以用在交易上。
但用在交易上有效吗?显然不容易,不然学校教授早就发达了。
可是机器学习在解决影像、声音或文字的分类跟预测的问题时,其实表现不错,
甚至比人类还厉害,用在交易上怎麽不太容易?问题在哪?
我是这样看,我是价格 Random Walk Theory 的信奉者,每一时刻的价格都是随机的,
而且背後没有相同的随机分布,随机没问题,但没有相同的随机分布就不行,
这就是交易价格跟影像、声音或文字的差别。
要入门演算法交易,就是学习机器学习理论,
实作上就以对机器学习支援较多的程式语言为主,例如 R 或 Python。
演算法交易要再深入一点我想是研究交易价格的本质。
※ 引述《micbrimac (shark)》之铭言:
: 哈罗
: 大家好
: 小弟是投资初心者
: 在职场上工作浮浮沈沈了几年
: 以前对投资理财没什麽兴致 每次听到朋友在聊投资股票 都避而远之
: 觉得投资跟赌博一样 常常听银行业朋友在报明牌 (可是都觉得超不准XDD
: 唯一碰过的一次股票 是去年听了银行业朋友的话
: 买了一张台GG股票 後来觉得压力大 持股不到一周就赶快卖掉了
: 最近也不知道怎麽回事 突然起了兴致想研究理财
: 这一个月开始寻找stock版上推荐的书单 也跟银行业朋友要书单来看
: 陆续看了一个投机者的告白 走进我的交易室 stock for the long run
: 才终於有点知道基本面、技术面是什麽东西
: 後来又找了玩投资的朋友聊天 探寻散户们都怎麽玩股票的
: 直到上礼拜看到脸书上的一个朋友 玩程式交易 赚了满满白花花的银子
: 才注意到程式交易 跟量化投资 认识到James Simons这位大神
: 这几天在google跟一些网站上蒐集了一些书单 有一本是版上推荐的Kaufman的书
: 稍微瞄了一本哈佛教授写的量化金融初级入门书
: 结果里面全是一堆看不懂的方程式跟数学
: 虽然我在理工科也念了些微积分、线代、ODE、PDE跟一点工程统计
: 想请教一下 大家一开始都怎麽建立自己的交易系统的
: 难道真的都是从学机率、统计学还有数学入门?
: 才一步步建立起自己的交易逻辑跟编辑程式的
: 虽然这样也蛮有趣的啦~
: 身为一个理工宅 某种程度上我也是挺相信数学的
: 只是不知道要从哪里开始 才能读懂那一堆看不懂的书
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 42.73.220.116
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Trading/M.1483803698.A.B08.html
1F:推 ProTrader: 简单的说 演算法交易就是股市版的Master 01/07 23:59
2F:推 micbrimac: 推推! 感谢 刚好看到 有个数学家提出关於随机性的预测 01/08 00:17
3F:→ micbrimac: 理论 好像就是企图在随机中找寻规则 感觉很有趣! 01/08 00:18
4F:→ micbrimac: 找到模式规则回测是算你文中所说的第二类吗? 01/08 00:19
Ok,实务的部分再多写一些,人在做交易或回测,过程如下
交易-
登录帐户
看盘
产生决策
下单
回测-
拿一段历史数据
产生决策
下单
重复
最後统计
程式去做是一样的过程,所以完整的程式交易除了产生决策外,
其余的过程也需要被实作。
一样分为指标交易跟演算法交易。
指标交易如前所述,用为交易而生的程式语言跟工具最方便,
大部分除了交易的过程帮你准备好之外,回测的过程也准备好了,
所以比较没有困惑,就是去学语言跟工具,至於学那套会跟你的交易商有关 (支援那套)。
演算法交易比较繁琐,需要把过程串起来,有几个跟交易商有关的,
需要串交易商的 API (Application Programming Interface),例如
Interactive Brokers (IB)
https://www.interactivebrokers.com/en/software/api/api.htm
OANDA
http://developer.oanda.com/
交易的过程会如下
交易-
登录帐户 (交易商的 API)
看盘 (交易商的 API)
产生决策 (例如 R 或 Python)
下单 (交易商的 API)
如果想要回测,就需要另外实作剩余的过程,不过还好,外国人都很 Nice 的,
很容易找到素人实作好的函式库,例如 Python 就有回测专用的函式库
PyAlgoTrade
http://gbeced.github.io/pyalgotrade/
回测的过程会如下
回测-
拿一段历史数据 (Python - PyAlgoTrade)
产生决策 (Python)
下单 (Python - PyAlgoTrade)
重复 (Python - PyAlgoTrade)
最後统计 (Python - PyAlgoTrade)
5F:推 nds3ds: 推 01/08 10:50
6F:推 bohun: 原来如此 感觉演算法这派入门难度很高 01/08 15:26
7F:推 ETHZ: micbrimac版友,可以麻烦您分享一下您看到的文章出处吗? 01/08 20:28
8F:推 ETHZ: 先谢了~ 01/08 20:30
9F:→ micbrimac: 解读量化投资:西蒙斯用公式打败市场的故事 中提到的 01/08 21:05
10F:→ micbrimac: 鲍姆-威尔士算法 01/08 21:05
11F:→ micbrimac: 讲到James Simons他们是用演算法来控制风险 01/08 21:06
12F:推 ETHZ: 这本书我看完了,非常好的书 01/08 23:05
13F:推 ETHZ: Baum-Welch algorithm就是Hidden Markov Model的演算法 01/08 23:06
14F:推 ETHZ: 这是我在用的方法之一,但是还没有大成功 01/08 23:07
※ 编辑: heuristics (42.72.142.63), 01/08/2017 23:27:34
15F:推 tneduts: 推推 01/09 02:40
16F:推 micbrimac: 个人感想ETHZ大推荐 还有其他的吗? 01/09 12:02
17F:推 micbrimac: 感谢! 01/09 20:35
18F:推 uxux: 你一开始假设就不太对哦,如果价格random,那根本不可能从 01/09 23:41
19F:→ uxux: 市场赚钱,也就没有研究演算法的必要了,只有价格非随机,开 01/09 23:41
20F:→ uxux: 发演算法程式交易这些东西才有意义 01/09 23:41
您可能将随机误解成任意,随机是有机率分布的,价格是随机的,
演算法交易才有机会。
21F:推 rodion: random walk通常是说"短期"价格是随机 但"中长期"则未必吧 01/10 15:39
提供一个观点,反而短时才容易出现短暂的交易模型,
您可以追一些着名的演算法或量化机构,大部分都是做高频交易。
※ 编辑: heuristics (223.140.129.33), 01/10/2017 20:07:20
22F:推 micbrimac: 我现在也认为短期反而容易有交易模型预测 01/10 21:35
23F:推 dodo222kimo: 01/10 22:52
24F:→ uxux: 如果你这麽认为,你很可能会错过好东西哦,可以再多思考看 01/11 07:57
25F:→ uxux: 看 01/11 07:57
26F:推 magier: 短期靠数据统计容易建立模型,中长期人为变因太多难建模 01/12 09:20
(ETHZ 删除 ES200h 的推文: 分身乱版!)