程序员如何学习量化交易,一文总结

最近有位金融行业的朋友想把一个盈利能力很强的策略做成量化程序遇到问题,问题是这样的

线程A在while(true)的循环里做条件判断,循环耗时1分钟。循环结束判断条件满足的时候调用交易接口下单建仓。想实现条件成立马上建仓,而不需要等待1分钟的循环。想通过多进程或者多线程方式,但两个线程不知道如何交互。

对有经验的开发来说这样的逻辑很简单,只要通过线程通信的方式就可以实现。A线程判断到满足条件就发个消息给B线程,B线程while(true)等待消息就行。技术本身不复杂,只是没接触过编程的不知道还可以这么干。很多普通的技术对非计算机行业的来说都很神秘,比如像GET或者POST请求,对程序员来说再熟悉不过,但很多刚入行的交易员对http请求是啥都不了解。转行量化交易,这两个行业各有各的难处,只是计算机出身的天生有比较强的行业兼容性,比起其他行业来说更容易上手。

“更容易上手”不是说有“三天入门,七天精通”的方法,我前后花了至少也有一年半时间才算精通。其间写了几万行代码,光量化数据就有几个G。实盘也是踩了不少坑,交了不少学费才开始盈利。支撑我花这么多精力去做的原因也很简单,上线了一个靠谱的量化模型后每天只需要花两分钟看一下模型是不是正常运行,然后看一下盈利了多少钱就行了,这躺赚的滋味就是我人生的追求啊。

在这里插入图片描述

量化交易本质上是通过把策略程序化实现自动交易的方法,可以分三个部分

· 交易策略
· 支撑系统
· 工作流程

交易策略程序化的优势太多了。有手工交易经验的就知道,在投资市场上最难的是克服人性的缺点,贪婪,恐惧,侥幸。有句话说凭运气赚的钱,也会凭本事亏掉,如果你买入一个股票,但说不出为什么买,给不出合理的理由,那你可能并不是在投资,而是在稳定地亏钱。有了量化程序就像有了个替你24小时工作的机器人,她可以同时关注几十个数据源,在海量数据里找到最可靠的买入时机。她木得感情,不需要休息,每个决策都有理有据,永远不会犯错。

量化交易要求你的策略必须是可回测,可预期的。同样数据的情况下,得到的决策应该只有一个,而不是刚刚买入,看到跌了两个点就开始后悔刚刚不应该买。并且你的策略要经得起推敲,起码要能经得起历史数据的回测。这些年在回测环节被我们废掉的策略太多了,有些策略只是一两个月内看起来不错,而有些策略虽然经得起几年的回测,但它最高的浮亏亏掉本金接近80%,也是我们淘汰的理由。十个策略最终能上线一个就不错了,像下面这个策略,1万本金10年盈利10万,最高峰只亏损10%,我们才有信心把它放到实盘去跑。

在这里插入图片描述

我们做量化交易的,第一件事是程序化策略,这就要求策略本身是可以归纳的,可以是以指标为参考,以财报为参考,或者以市盈率为参考,总归需要能用逻辑描述。有说我炒股就靠盘感的,“我觉得要涨了”,要是你能把“感觉”也程序化请尽快联系我,我想学。实在要是想不出策略那也好办,抄一个就完了。我的第一个策略也是从网上找的,叫“马来28”。上线模拟盘一个星期盈利2000多,可惜好景不长,一个月后就因为浮亏太高爆仓了。

(图)

爆仓的根源在于马来28是一个纯马丁的策略。这是个在数学证明上胜率100%的策略,但在实际操作上要达到100%胜率必须配合无限的资金。它相当于在一个博弈游戏中只有大和小两种情况,第一次押错的情况下第二次继续押同一个,并且翻倍下注量。连续开大或者开小的概率是0.5的n次方,逐渐趋近于无穷小,因此概率上能实现100%胜率。这个策略的问题是在不知道确切概率的情况下只能用无限的资金去加仓,是一个只存在于理论上的策略。

所以策略上线前要经过详细回测,对它的盈利能力和浮亏心里有数,知道用多大资金量可以做到多少盈利。最近上线的这个量化模型经过两个多月的回测和优化,模型刚落地时盈利能力很夸张,一个月翻近10倍,但我们还是要优化掉。优化的目的是知道它的极限盈利能力,然后降低盈利,同时降低它的风险。任何一个投资都不应该超过年化40%的盈利,要是谁跟你说他一年能翻几倍,那你得想想到底谁才是韭菜。

(图)

大部分模型的盈利不是一条直线,稳定盈利是不可能的。下面是我正在用的30天10%盈利的模型。
在这里插入图片描述

不是说没有一年超过40%的吗,这一个月不就10%了?其实单看一个月的话是10%没错,你要是问我能不能保持每个月都10%利润,坦白说我做不到。这里面会用一部分利润去做风险控制。把时间拉长到3个月,利润并没有到30%,不见了的利润去哪了呢?这些利润会被风控平掉,让仓位的风险不至于太高,随时可以平仓走人。

在这里插入图片描述

又有人说,那我只做一个月行不,赚10%就走。理论上当然也行,但我没法跟你保证你进场就能马上开始盈利。要是谁说他知道完美的进场和出场时机,想想他为啥告诉你,告诉你有什么好处,有这本事还不如买彩票去啊。

所以也不要神化量化交易。程序员出身的应该对数学有敏感性,做量化交易是想找到一个数学模型,在概率上能和资金配合并且把资金收益最大化。通过自动化的方式避免人工交易中容易受到情绪影响导致的判断失误。量化交易本身不神秘,只要愿意花时间,找到正确的方法,程序员出身的很快就能上手量化交易。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/46864.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

屏蔽 app 开屏广告,舒畅了

之前吐槽过开屏广告 吐槽一下 ,今天分享下iOS手机屏蔽 app 开屏广告的方法: 1.打开手机设置 2.打开 屏幕使用时间 3.打开 内容和隐私访问限制 4.找到 广告 设置为不允许 设置完后大部分app的开屏广告没了,当然可能有漏网之鱼,可…

【K8S系列】快速初始化⼀个最⼩集群

序言 走得最慢的人,只要不丧失目标,也比漫无目的地徘徊的人走得快。 文章标记颜色说明: 黄色:重要标题红色:用来标记结论绿色:用来标记一级重要蓝色:用来标记二级重要 希望这篇文章能让你不仅有…

吴恩达教你写提示词 ChatGPT prompt engineering

文章目录 吴恩达教你写提示词 ChatGPT prompt engineering1. 关键提示(prompt)原则1. 基础2. 编写明确和具体的提示词3. 给模型时间“思考”4. 模型的限制5. 迭代式提示(prompt)开发过程 2. 提示(prompt)一…

【AI提示】ChatGPT提示工程课程(吴恩达OpenAI)迭代提示词笔记(中文chatgpt版)...

Iterative Prompt Develelopment 迭代提示词开发 在本课中,您将反复分析和优化您的提示,以从产品说明书生成营销文案。 设置 import openai import osfrom dotenv import load_dotenv, find_dotenv _ load_dotenv(find_dotenv()) # read local .env fil…

Unity Shader人物发光特效

Unity Shader人物发光特效 写在前面效果实现方法项目地址写在后面 写在前面 当人物被击中或则有任务引导提升时,人物身上将会有发光特效,这里我自己实现一下。 效果 实现方法 核心思想就是将贴图试图向量(朝摄像机方向)与法线向量单位化后做点乘从而得…

【Unity】awake和start

生命周期流程如下 本篇主要讲的是在比较靠前的awake和start阶段,因为这两个阶段效果类似,都只会执行一次,但是具有触发条件. awake、enable、start依照次顺序执行,awake会在一开始的时候就会执行,但start则是在被激活…

Unity Shader - 类似七龙珠的人物气焰效果

文章目录 环境效果思路passespass - 气焰优化后的 shader Project关于效果落地 环境 Unity : 2018.3.11f1 Pipeline : BRP 效果 覆盖身前 覆盖身前 叠加混合 风格化 版本,更适合 NPR: 再优化一版本 该效果是自己摸索的(也是自己再国…

虚幻引擎中GPU Lightmass全局光照的使用步骤

GPU Lightmass (GPULM) 是一种光烘焙方法,它预先计算来自具有 Stationary 或 Static 移动性的灯光的复杂光交互,并将该数据存储在创建的应用于场景几何体的光照贴图纹理中。GPU Lightmass 显着减少了为复杂场景计算、构建和生成光照数据所需的时间&#…

UE4 Shader 常用函数 学习笔记

Add:快捷键a 将两数相加,也可以将两纹理相加,如下图: append(追加): Subtract(减): 和加相反,特例,如下: Abs&#xff0…

Ubuntu搭建原神3.7版本服务器

本文涉及知识点 linux基础命令|mongoDB服务端搭建及指令|Java环境搭建 原神私服可以用来抽卡满足自己用,他的许多任务都得登录控制台自己发,不建议拿私服玩,想要体验完美原神请到官服,本文只做LINUX MongoDB java教学例子 写在前…

原神角色渲染详解

整体效果展示:主要方案是对下面几张图做不同的处理 身体 基础颜色光照:主要贴图卡通贴图ramp图法线图光照图 金属度与高光,头发部分高光:光照图,头发部分用高光black图 深度边缘光:用额外pass DepthNor…

打脸了兄弟们,Go1.20 arena 来了!

大家好,我是煎鱼。 大概半年前,我写过一篇文章《Go 要违背初心吗?新提案:手动管理内存》。有兴趣了深入解的同学,可以再回顾一下。 当时我们还想着 Go 团队应该不会接纳,至少不会那么快: 没想到…

对正在打野发育的红队同学的一次反制

文章目录 故事开始其他反制思路隐蔽C2CS重定向器实验 故事开始 真的是对同学的反制哈,我们最近都在学习内网&钓鱼就互相”攻击“,就有那么一天我就在想我偷懒把CS登录密码设置的很简单,会不会其它人也偷懒,于是就抱着尝试的心…

zsteg安装及CTF打野wp

下载文件解压后拖进kali里,移到root目录下 使用命令 zsteg 文件名 执行成功后即可获取qwxf{you_say_chick_beautiful?} 下面介绍zsteg的安装 使用命令 git clone http://www.github.com/zed-0xff/zsteg apt-get install gem gem install zsteg 若报错,…

AI版女网红“半藏森林”上线,服务项目让人意想不到

目前首批网红明星“AI克隆人”已提前上线,主营业务就是打造各种名人版AI聊天机器人,用户付费便可与之聊天。其后台报名参加AI克隆人的网红明星“全网粉丝总数已超过5亿”。该公司这波上线的网红明星AI克隆人,包括此前因“疑似插足他人恋情”&…

炉石传说 爬取全部卡牌

之前我30行爬了英雄联盟全部皮肤 这次爬炉石稍稍麻烦点,50行 网页分析 首先,我们分析炉石官方网站卡牌工具https://hs.blizzard.cn/cards/ 通过源代码和Network分析,发现返回的卡牌是用post请求的json文件 请求数据为: cardCla…

我用python玩炉石传说(3)-----炉石卡牌套牌自动构建算法

本文共三个部分: 我用python玩炉石传说(1)-----炉石卡牌相关度分析的手动打分器我用python玩炉石传说(2)-----炉石卡牌套牌爬取器及自动分析卡牌相关度我用python玩炉石传说(3)-----炉石卡牌套…

(写着玩)Python仿网络游戏《炉石传说》,继上次部分代码展示

上一期: (写着玩)Python仿网络游戏《炉石传说》,使用LOL的卡牌进行模拟对局(版本1.0)_AMarvelZ的博客-CSDN博客

手动爬取炉石传说所有卡牌

笔者还记得是从大学开始的时候玩的炉石传说,还记得当时的版本只有黑石山,纳克萨玛斯,地精大战侏儒这些卡包,转眼间到了现在,炉石传说早已和之前的那个炉石传说不再一样了,还记得以前的卡牌套路冰法&#xf…