V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
alexapollo
V2EX  ›  程序员

10 年前,我用 AI 做了量化交易模型,年化 40%

  •  
  •   alexapollo ·
    geekan · 2020-05-02 12:53:40 +08:00 · 16219 次点击
    这是一个创建于 1447 天前的主题,其中的信息可能已经有所发展或是发生改变。

    2010 年的时候,出于兴趣,我开始用进化算法和神经网络做股市的预测,全自动设计网络结构和各类参数,可以说是国内做 AI 量化,乃至 AutoML+量化的最早的人。其中一个实验是拿道琼斯指数 1930 年到 2010 年的历史,拿 60 年做训练,20 年做测试,用 AI 做双边交易可以做到带杠杆 40%左右的年化,不带杠杆 12%左右的年化(基线 7%)。当时我自己用它赚了几年的生活费。简单介绍一下当时所做的工作:

    • 金融 Survey:看了上百本金融相关的书,搞明白了市场运作机制,和一些投资、投机者的基础逻辑
    • AI Survey:看了当时几乎所有的中文 /英文相关的材料,发现没有一个人有公布真正有效果的方法
    • 数据:基于 Matlab 里的 Java 虚拟机,写了对指数和部分股票的爬虫( Yahoo/Google/新浪 金融板块)
    • 特征:基于简单数学做了 40 多个母指标,几百个子指标,都是纯技术指标
    • 模型:用了 LR/SVM/MLP 来做基础模型,RS/GA/PSO/ABC/ACO 等算法来做搜索模型
    • 超参:各个模型的基础超参、模型深度、模型宽度、指标参数、滑窗参数

    效果也很明确,在道琼斯指数上单纯预测涨跌,可以做到 65%左右的准确度;在其他几个市场也都有显著效果。其中的思路到现在来看,可能都还是最先进的。如果有机会,我很想做一个中国的大奖章基金。但我觉得可能现在机会不大,就分享下我自己的思路想法吧。

    那时候我所做的技术现在部分沉淀到了我们的这个开源项目里,也欢迎大家试试:

    第 1 条附言  ·  2020-05-02 14:12:25 +08:00
    如果其他朋友不爱看,或者觉得广告性质强的话,我建议就不要看了,右上角 X 了吧
    本来我只是想到了 10 年了,方法可以见光了,但这个方法本身仍然具有很大的价值
    如果觉得方法不好,可以去 survey,回过头来算算方法值多少钱。或者拿出更好的方法回过来

    40%正如正文所说,是有杠杆的长期持仓,要算融资成本,融资成本是多少要各凭本事。
    如果没有杠杆就是 12%( buy & hold 7%),交易标的是道琼斯指数
    117 条回复    2021-06-15 13:54:17 +08:00
    1  2  
    cigarzh
        1
    cigarzh  
       2020-05-02 12:58:30 +08:00
    ???
    lhx2008
        2
    lhx2008  
       2020-05-02 12:58:45 +08:00
    项目不错。。能不能赚钱有待商榷
    alexapollo
        3
    alexapollo  
    OP
       2020-05-02 12:59:53 +08:00
    @cigarzh ???
    cian
        4
    cian  
       2020-05-02 13:00:48 +08:00
    有这技术,可以变现的渠道很多的,不只是股票,其它领域收益会更高
    AlohaV2
        5
    AlohaV2  
       2020-05-02 13:01:09 +08:00 via iPhone
    感谢分享!
    不过(不针对楼主)我觉得这个就跟以前电视上讲股票的类似,能摆出来的都是非核心部分🤣
    cigarzh
        6
    cigarzh  
       2020-05-02 13:01:19 +08:00   ❤️ 9
    @alexapollo 连发三个帖子,宣传一个 repo,没完了?
    LZSZ
        7
    LZSZ  
       2020-05-02 13:01:39 +08:00   ❤️ 2
    发了好几次了吧
    alexapollo
        8
    alexapollo  
    OP
       2020-05-02 13:02:03 +08:00
    @lhx2008 那时候是可以赚钱的。但随着 AI 的快速普及,能赚的钱是越来越少的。
    这个领域一方面是零和的,另外一方面是赢家通吃的。
    alexapollo
        9
    alexapollo  
    OP
       2020-05-02 13:04:53 +08:00
    @cian 有什么例子吗?
    alexapollo
        10
    alexapollo  
    OP
       2020-05-02 13:05:44 +08:00
    @cigarzh 抱歉影响了你的阅读体验。但这些事都是真实的
    alexapollo
        11
    alexapollo  
    OP
       2020-05-02 13:06:38 +08:00
    @AlohaV2 这个方法在现在可能效果没有那么好了
    csunny
        12
    csunny  
       2020-05-02 13:14:12 +08:00   ❤️ 2
    这个成绩已经超越大奖章基金了,所以我不太相信。
    alexapollo
        13
    alexapollo  
    OP
       2020-05-02 13:17:51 +08:00
    @csunny 带杠杆 40%是得算损耗的。。损耗可能非常大。
    另外大奖章最新公布的年化过去几十年是 70%。
    goobai
        14
    goobai  
       2020-05-02 13:22:53 +08:00 via Android
    这么牛的标题,十年了还来发帖子
    janxin
        15
    janxin  
       2020-05-02 13:29:57 +08:00
    @Livid LZ 好几个帖子不同姿势推同一个框架的...
    dartabe
        16
    dartabe  
       2020-05-02 13:30:33 +08:00   ❤️ 1
    吹的越来越玄乎了 还几百本金融书

    我怎么看到普通的科普知识都说量化交易大部分用于期货和债券呢
    djoiwhud
        17
    djoiwhud  
       2020-05-02 13:30:35 +08:00 via Android
    不知道你的模型实盘操作的赢面多少。你能经历百万以上资金跨牛熊周期的实盘检验,就可以单干了。没有实盘检验,不会有人信的。不早说 40%,20%都是很牛逼的。另外,现在国内的证券投资也逐渐偏市场调研分析了。我也写过十来种交易策略,不过未经历实盘检验,我不敢吹。
    dartabe
        18
    dartabe  
       2020-05-02 13:33:16 +08:00
    前几天发帖问 ai 和炒股的估计也是你们马甲
    alexapollo
        19
    alexapollo  
    OP
       2020-05-02 13:44:42 +08:00
    @dartabe 绝望,发干货也会被怼,随便吧
    hanbing135
        20
    hanbing135  
       2020-05-02 13:45:33 +08:00 via Android
    广告过分了
    mengzhexin
        21
    mengzhexin  
       2020-05-02 13:51:25 +08:00 via Android
    楼主知道 1.4 的 10 次方是多少吗
    mazyi
        22
    mazyi  
       2020-05-02 13:52:09 +08:00 via iPhone
    1.4 的十次方等于多少
    alexapollo
        23
    alexapollo  
    OP
       2020-05-02 13:54:21 +08:00
    @goobai
    @hanbing135
    @janxin
    主体是干货,应用场景是事实,本来就是一体技术
    alexapollo
        24
    alexapollo  
    OP
       2020-05-02 13:56:31 +08:00
    @mengzhexin
    @mazyi
    请各位老板看帖子,带杠杆是有损耗的(损耗看自己本事能做到多少利率),无损耗只能算 12%。

    大奖章过去几十年 70%,请看
    http://finance.sina.com.cn/money/fund/jjcl/2019-11-26/doc-iihnzhfz1528708.shtml
    ohmyzsh
        25
    ohmyzsh  
       2020-05-02 14:16:29 +08:00 via Android
    敬畏市场
    oahebky
        26
    oahebky  
       2020-05-02 14:21:30 +08:00   ❤️ 3
    (1.4)^10 = 28.9

    10K x 28.9 = 289K
    50K x 28.9 = 1445K
    100K x 28.9 = 2890K

    这样的人有空五一来 V2EX 发帖吗?
    yangzzzzzzzt1
        27
    yangzzzzzzzt1  
       2020-05-02 14:23:05 +08:00
    挺逗的,训几个模型就能天上掉钱的话这世上就没有穷人了,而且看到什么上百本金融相关的书我真的笑了
    alexapollo
        28
    alexapollo  
    OP
       2020-05-02 14:25:47 +08:00
    @oahebky
    @yangzzzzzzzt1 建议右上角
    teawithlife
        29
    teawithlife  
       2020-05-02 14:27:01 +08:00
    就问两个问题:
    1. 有实盘操作过吗?
    2. 实盘操作用了多少本金,多长时间?
    txydhr
        30
    txydhr  
       2020-05-02 14:39:14 +08:00
    幸存者偏差而已
    love
        31
    love  
       2020-05-02 14:45:30 +08:00 via Android
    将心比心,谁有这种躺着赚钱的技术会公布吗😃 除非这人不想成为人生赢家
    txydhr
        32
    txydhr  
       2020-05-02 14:49:34 +08:00   ❤️ 4
    我十年前用 AI 就算过,买入特斯拉股票,然后在 2020 年 2 月卖掉转成做空,不加杠杆年化收益率就 70%了,比你这个还要高。你要问我为啥特斯拉呢,因为我刚才回你的帖子刚搜的。
    hallDrawnel
        33
    hallDrawnel  
       2020-05-02 14:52:07 +08:00
    你这是历史回测,你实际赚钱的年化收益率是多少?
    alexapollo
        34
    alexapollo  
    OP
       2020-05-02 14:55:58 +08:00
    @love 是啊。所以我过了十年才觉得可以发了。这个文章中的技术现在还有不少用处,但实际要复杂得多。
    alexapollo
        35
    alexapollo  
    OP
       2020-05-02 15:01:56 +08:00
    @teawithlife
    @hallDrawnel 这是我在学校里的项目,当时我钱不多(大学生你懂的),把我的所有生活费都丢到这个系统里跑了。只能说我当时赚了几年的生活费,我的第一台自己的电脑也是用这里赚来的钱买的。
    当然,此一时彼一时,这个策略现在 insights 还有,但已有的“内容”能带来的效果已经不太明显了。
    raymanr
        36
    raymanr  
       2020-05-02 15:03:30 +08:00
    量化交易,加杠杆,40%年化, 曾经有这么一家公司,做的成绩和这个差不多,叫 Long-Term Capital Management
    zhizhiwz
        37
    zhizhiwz  
       2020-05-02 15:15:57 +08:00 via Android
    十年前 40%年化,现在还不是首富?
    vivili
        38
    vivili  
       2020-05-02 15:17:14 +08:00
    十年道琼斯涨了三倍多吧。按你 1.12 算。我 10 年买入拿住到现在就和你搞策略一样了。跑不赢指数的策略那叫运气
    alexapollo
        39
    alexapollo  
    OP
       2020-05-02 15:18:18 +08:00
    @raymanr
    @zhizhiwz
    LTCM 是做统计套利的,我这个是做趋势的,10.8w 千里。
    现在是首负。
    alexapollo
        40
    alexapollo  
    OP
       2020-05-02 15:18:45 +08:00
    @vivili 十年道指的年化在 8.6%左右
    raymanr
        41
    raymanr  
       2020-05-02 15:19:23 +08:00
    还有个问题:

    道琼斯 10 年前 10000 点,今年熔断前是 28000,也就是说直接买指数基金长期持有的收益就是 11%

    你的不加杠杆 12%, 这点说服力不太够啊,如何证明这个 1% 是统计显著的呢?
    yukiloh
        42
    yukiloh  
       2020-05-02 15:21:00 +08:00 via Android
    中国有句老古话,蒙声发大财
    如果写代码能赚大钱,谁还会开培训班
    alexapollo
        43
    alexapollo  
    OP
       2020-05-02 15:22:17 +08:00
    @raymanr 相比当时的 7%是 12%,在这种市场上应该会更高
    dalibaxiaoliba
        44
    dalibaxiaoliba  
       2020-05-02 15:48:19 +08:00
    请问你的系统是如何应对外界消息呢?比如说这次疫情的出现,你的系统有对其做出反应吗
    cian
        45
    cian  
       2020-05-02 15:56:07 +08:00
    v2ex 杠精太多了,虽然我也不知道楼主的真实意图,但是你们一上来就以自己的各种“小”揣测对方合适吗
    cian
        46
    cian  
       2020-05-02 15:57:27 +08:00
    我说 12%的年华收益一点都不高,你们信吗
    PopRain
        47
    PopRain  
       2020-05-02 16:04:00 +08:00
    我一个同学,凭自己,几百万炒到了几千万以上,顶峰曾经是某个小上市公司的十大股东之一,然后,就开始研究 python,搞量化交易。。。。结果是后来借了我几万不能还

    入市需谨慎!!!
    EricJia
        48
    EricJia  
       2020-05-02 16:08:56 +08:00
    宣传 repo 就宣传, 吹十年前的收益干嘛? 加杠杆为了年化 40% .... 图个啥
    我在 joinquant 的弄的策略, 15 年近 300 倍收益 , 无杠杆年化 45% https://www.joinquant.com/view/community/detail/0c91b45f3903fcaa18f61eee2e54418a
    raymanr
        49
    raymanr  
       2020-05-02 16:13:13 +08:00
    @cian
    我个人格局不大,我是觉得二级市场如果能连续几十年做到复合收益 12% 已经非常不错了。
    alexapollo
        50
    alexapollo  
    OP
       2020-05-02 16:19:21 +08:00
    @dalibaxiaoliba 这种没办法。只能止损,所以说这个系统本身有很多的改进点
    alexapollo
        51
    alexapollo  
    OP
       2020-05-02 16:20:52 +08:00
    @EricJia 核心是普适、风险控制吧。这种策略我试过很多,但都很 risky,细节稍微调整一下就不行了。
    alexapollo
        52
    alexapollo  
    OP
       2020-05-02 16:21:48 +08:00
    @cian 如上所述。我觉得自己也做不成大奖章,弊技自珍也没什么意思。
    cian
        53
    cian  
       2020-05-02 16:24:27 +08:00
    作为技术员,喷楼主前,至少把代码看一遍,看明白了再喷也不迟,楼主敢 show 代码,至少不是嘴炮
    EricJia
        54
    EricJia  
       2020-05-02 16:26:38 +08:00   ❤️ 1
    @alexapollo #51 我调的几个策略, 最近十五年, 回测都能到年化 45%, 最大回撤 30%以内; https://www.v2ex.com/t/668089#reply1, 我是觉得你夸大了收益, 有点标题党, 年化 12%的话... 为啥不跟巴菲特买指数基金呢
    zhenzinian
        55
    zhenzinian  
       2020-05-02 17:05:53 +08:00
    感谢 lz 分享,AI 量化会比非 AI 的普通指标量化更好吗?我看过几个指标量化也有年化很不错的,从收益上看,AI 的优势在哪里?
    chinvo
        56
    chinvo  
       2020-05-02 17:10:12 +08:00 via iPhone
    恶心

    就和路边一脸油泥的人要跟你指条明路一样

    郭德纲听了要打人的
    alexapollo
        57
    alexapollo  
    OP
       2020-05-02 17:23:32 +08:00
    @EricJia 我之前调过很多年化 45%以上的 JoinQuant 策略,你自己也知道 JoinQuant 上的策略有多少水分
    cassyfar
        58
    cassyfar  
       2020-05-02 17:45:28 +08:00
    你这个连基本的对冲模型都不做的吗?直接就是买卖股票?
    kvenux
        59
    kvenux  
       2020-05-02 17:55:40 +08:00   ❤️ 1
    股票部分懒得喷了,傻子才信系列
    deep learning 是从 alexnet 开始的吧,NIPS2012 。lz 这么有前瞻性手里顶会 idea 应该不少吧,混到现在应该是个响当当的人物
    斗胆问一句 2010 年就有 tensorflow 了?
    xcstream
        60
    xcstream  
       2020-05-02 17:58:42 +08:00
    预测股票是理论上就不行
    niubee1
        61
    niubee1  
       2020-05-02 18:00:10 +08:00
    我要是搞出了年化 40%的自动量化交易还真的在真实交易赚到钱了,那我就暗戳戳的闷声发财就好了,怎么可能拿出来到处炫?
    alexapollo
        62
    alexapollo  
    OP
       2020-05-02 18:08:00 +08:00
    @kvenux 张嘴就喷也是 666

    不才,发过几篇顶会,在业界也有些名气,您随便喷,我接着
    扫盲一些基础知识:MLP,或者在以前叫 BP 神经网络,手写 matlab 不超过 100 行
    alexapollo
        63
    alexapollo  
    OP
       2020-05-02 18:08:56 +08:00
    @kvenux 另外,MLP 的基础结构是 1986 年提出的,百度百科可以解答你的疑惑
    AnonymousM
        64
    AnonymousM  
       2020-05-02 18:09:20 +08:00 via Android
    楼主真是广告奇才
    alexapollo
        65
    alexapollo  
    OP
       2020-05-02 18:11:00 +08:00
    @niubee1 motivation 上面讲过了
    alexapollo
        66
    alexapollo  
    OP
       2020-05-02 18:14:51 +08:00
    @zhenzinian 我觉得如果能够用数学简单做一个更 neat 的模型肯定是更好的。但是我调过很多策略,发现并不行啊。大部分策略都是市场、时间敏感的,这个市场好,另外一个市场差,这个时段好,那个时段差。
    稳定性可能是它的一定优势吧。
    kvenux
        67
    kvenux  
       2020-05-02 18:26:29 +08:00
    @alexapollo 可以 来个证据 你 2010 年用的啥做 deep learning 的
    hefish
        68
    hefish  
       2020-05-02 18:44:59 +08:00
    前几天不是说这个公司日子不好过,勉强维持嘛。另外还有一份开源的心,就开源了他的 autodl 。 这是想在 v2 拉点融资? 想法很不错,祝 lz 早日拉到融资,早日实现财务自由。
    alexapollo
        69
    alexapollo  
    OP
       2020-05-02 19:40:22 +08:00
    @kvenux 那我们加点赌注吧。
    如果我能从古老的 8 年没开机的笔记本里找出我写的 MLP (多层感知机)的 PPT,你转发我们的开源工程到 2 个 500 人大群可好?
    alexapollo
        70
    alexapollo  
    OP
       2020-05-02 19:41:40 +08:00
    @kvenux 这些工作我在 2012 年年初都总结了一遍,以毕业论文的形式。
    hakono
        71
    hakono  
       2020-05-02 19:46:29 +08:00 via Android
    我的天,年化 40%,这是什么概念。。。。。能做到稳定长期年化 40%华尔街精英怕不是得跪着来到楼主面前找你合作
    alexapollo
        72
    alexapollo  
    OP
       2020-05-02 19:52:31 +08:00
    @hakono 看帖,有摩擦损耗,当然如果你能融到负利率的钱当我没说
    weiqk
        73
    weiqk  
       2020-05-02 20:02:42 +08:00 via Android   ❤️ 1
    我说两点,12%手撸都不止,以日线为基础的量化入门都算不上
    zhangpeter
        74
    zhangpeter  
       2020-05-02 20:39:01 +08:00
    我做比特币价格预测,预测的年化有 1000%,结果实盘操作一个月下来,只有 2%
    hackerwin7
        75
    hackerwin7  
       2020-05-02 20:42:57 +08:00 via iPhone
    orz
    jsun
        76
    jsun  
       2020-05-02 20:54:15 +08:00
    标题党
    Foxkeh
        77
    Foxkeh  
       2020-05-02 20:55:12 +08:00
    有点意思, 然而项目介绍都看不懂...这个是需要把技能点加到 爬虫,机器学习,AI 这三个上面吗?
    @alexapollo and @楼上的朋友们, 求推荐书单
    kvenux
        78
    kvenux  
       2020-05-02 21:11:39 +08:00
    @alexapollo 直接上代码呀,ppt 管个 p 用
    标题党就大大方方承认,吹牛不上税
    admirez
        79
    admirez  
       2020-05-02 21:17:30 +08:00
    快乐死我了,年化 40%,这是欺负我们没见过顶级大佬么
    fanxingyu9555666
        80
    fanxingyu9555666  
       2020-05-02 21:22:28 +08:00 via iPhone   ❤️ 3
    天天打广告,我发你妈呀
    mikumkf
        81
    mikumkf  
       2020-05-02 21:28:30 +08:00
    对楼主的 Google Scholar 更加感兴趣~
    alexapollo
        82
    alexapollo  
    OP
       2020-05-02 21:39:38 +08:00
    @kvenux 好啊,上代码转发 5 个 500 人群可好,敢不敢?不要怂
    alexapollo
        83
    alexapollo  
    OP
       2020-05-02 21:40:13 +08:00
    @mikumkf 我不是主要混学术界的,就那么几篇文章,就不献丑啦~
    threebr
        84
    threebr  
       2020-05-02 21:42:35 +08:00   ❤️ 2
    楼主把发的几篇顶会贴一下,大家立马闭嘴
    chenchangjv
        85
    chenchangjv  
       2020-05-02 21:56:04 +08:00
    @alexapollo 求问一下你们的代码细节。
    第一次用 Tensorflow,请问你们数据集的 .textproto 文件是怎么生成的?
    给个关键字或者接口名,谢谢了。
    become2019
        86
    become2019  
       2020-05-02 21:58:21 +08:00
    还行
    littlewing
        87
    littlewing  
       2020-05-02 22:02:14 +08:00
    过去 10 年闭着眼睛买能有多少年化?
    fhsan
        88
    fhsan  
       2020-05-02 22:07:24 +08:00
    我信了,靠指标,顶多几千万的资金,再多就玩不转了。
    lyh404
        89
    lyh404  
       2020-05-02 22:32:29 +08:00
    说句泼冷水的话,所谓回测都是垃圾。
    arthurire
        90
    arthurire  
       2020-05-02 22:37:55 +08:00
    这帖子写的有些标题党,clone 了再看.

    正好手里有一些低频的模型想做做日内增厚

    先谢谢楼主
    aptx4689
        91
    aptx4689  
       2020-05-02 22:39:49 +08:00   ❤️ 1
    不去华尔街当 quant researcher 年薪百万在这发帖?
    clemente0620
        92
    clemente0620  
       2020-05-02 22:58:27 +08:00   ❤️ 2
    2010 有 AutoML 这个概念? 深度学习你知道什么时候是元年吗
    wiilzhang
        93
    wiilzhang  
       2020-05-02 23:27:00 +08:00 via iPhone
    槽点太多,意图太明显,建议封号。
    fescover
        94
    fescover  
       2020-05-02 23:55:59 +08:00
    楼上也别着急喷,高手说不定在民间。什么事都是看最终效果的,效果好就有真本事,效果不好试一试也没什么大问题,或者再喷也不迟。
    halo117
        95
    halo117  
       2020-05-03 00:14:24 +08:00 via iPhone
    @livid,开源项目有夸大成分,建议移到广告推广
    ZRS
        96
    ZRS  
       2020-05-03 00:16:33 +08:00
    @clemente0620 10 年那会主流应该是在玩 SVM 之类的玩意,MLP 没什么成熟应用连轮子都不多。至于 LZ 说的这个 10 年就开始 AutoML 、AI 量化、“全自动设计网络结构”、“自动调参”...我暂且蒙在鼓里

    好奇 LZ 的顶会是做什么相关的
    allencloud
        97
    allencloud  
       2020-05-03 00:18:54 +08:00
    楼上喷的都离题了吧。。。问题是 autoML 只是个自动 ML 的框架啊,楼主并没有分享用这个框架搞得量化代码,那不是白搭吗?
    kraymond
        98
    kraymond  
       2020-05-03 00:39:32 +08:00 via iPhone
    我比较好奇楼主开源的这个代码真的能用到量化交易里吗?时序数据的 prediction 和开源项目里的 classification 任务应该还是有很大区别的。退一步说,我直觉上看,在你的策略中起到关键作用的应该是对时序数据的特征工程,模型和算法反而没那么重要,毕竟都是一些 well-established 的工作。
    楼主的开源项目很棒,但是最好还是不要在宣传中 over-claim 。
    20150517
        99
    20150517  
       2020-05-03 00:49:40 +08:00
    @allencloud 是啊,同感,这里面好像根本没有实现方案啊,这只是一个基础框架
    20150517
        100
    20150517  
       2020-05-03 00:51:08 +08:00
    @kraymond 你看这 repo 里有任何的实现吗?还是我打开的方式不对?
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4004 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 04:12 · PVG 12:12 · LAX 21:12 · JFK 00:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.