没接触股票交易系统,想问下大家,写个交易系统有多难。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
qians666
V2EX    程序员

没接触股票交易系统,想问下大家,写个交易系统有多难。

  •  
  •   qians666 2024-08-07 17:59:19 +08:00 6282 次点击
    这是一个创建于 432 天前的主题,其中的信息可能已经有所发展或是发生改变。

    没尝试过,想挑战下,不知道是不是不知天高地厚。

    56 条回复    2024-08-10 12:10:03 +08:00
    HongJay
        1
    HongJay  
       2024-08-07 18:00:21 +08:00
    想想就可怕
    Depth
        2
    Depth  
       2024-08-07 18:01:37 +08:00
    交易系统不难写,对接的实时性交易系统难。
    encro
        3
    encro  
       2024-08-07 18:01:44 +08:00
    tradeview 写一个交易策略,不难。。。赚钱-----难。。。
    jjtang11
        4
    jjtang11  
       2024-08-07 18:03:19 +08:00
    技术不是问题,最大问题是找到稳定,准确,实时的数据源
    I3tZ9NgHU44xmaA4
        5
    I3tZ9NgHU44xmaA4  
       2024-08-07 18:25:04 +08:00
    你是要交易系统还是赚钱的交易系统?
    交易系统的话,你用大智慧预警出来,再获取交易软件的资金模拟键盘下单就行。
    能盘前提前筛选锁定到三几百个股票内的,用通达信都行
    要抢板的话,可能你要跟券商要 API 了,好像这个条件要求都不高。
    赚钱的交易系统就帮不了你了,先有能力在 K 线图上显示一个像样点的买入卖出点再考虑交易系统吧。
    sagaxu
        6
    sagaxu  
       2024-08-07 18:26:29 +08:00
    @Depth 技术上对接不难,上交所官方就提供了 API ,但门槛较高。券商也有 API ,账户里有个一千万,应该能申请开通了。
    Nazz
        7
    Nazz  
       2024-08-07 18:26:57 +08:00 via Android
    实现一个不难,难的是性能和可靠性
    encro
        8
    encro  
       2024-08-07 18:33:48 +08:00
    @jjtang11

    miniqmt 挺好的,无门槛
    ZZ74
        9
    ZZ74  
       2024-08-07 18:43:28 +08:00
    op 说的应该是真正的交易系统。一般都是 C 类语言写的。
    你们说的是对接
    FantaMole
        10
    FantaMole  
       2024-08-07 19:52:49 +08:00
    其实证券行业的交易系统,跟其它交易系统的最大区别我觉得是速度。就像不记得看的哪里写的,什么专门去纽交所拉条专线就为了比别人早几毫秒看到行情一样

    国内几家头部技术提供商恒生、顶点、金证的极速交易系统,基本上单笔交易处理时间都在纳秒级别,从下单到上报到交易所基本都在个位数微秒。先是速度,然后才是并发,然后才是业务和风控
    ivvei
        11
    ivvei  
       2024-08-07 19:55:03 +08:00 via Android
    @FantaMole 不存在的,全是吹牛。上交所这种发单到确认得十几毫秒
    Sawyerhou
        12
    Sawyerhou  
       2024-08-07 20:35:06 +08:00 via Android
    没明白你的交易系统是什么意思,API 券商都提供现成的,直接把策略接上去就行了。

    一般来说,IT 和硬件方面看策略,策略交易频率越高要求越高。

    自己做的话难点不在开发,在于策略,只要有赚钱的策略,代码可以找外包写。
    Sawyerhou
        13
    Sawyerhou  
       2024-08-07 20:37:08 +08:00 via Android
    @ivvei 毫秒以上高频根本没必要做了,都是微秒级别,慢的百微秒,快的个微秒。
    cvbnt
        14
    cvbnt  
       2024-08-07 20:52:02 +08:00   4
    仅以纳斯达克举例
    1 、从 2020 年开始,每天要存储 700 亿条记录,峰值是 1130 亿条记录,数据湖和数据仓采用 Simple Storage Service (Amazon S3) 和 Amazon Redshift ,集群超过 70 个节点
    2 、,纳斯达克的全球 IP 基础设施(包括延迟极低的交易网络)一直采用的是
    思科 Catalyst 和思科 Nexus 交换机,同时监控采用 AppDynamics ,可能使用的是世界上最好的网络资源
    3 、核心交易系统被称之为 INET ,INET 系统处理延迟小于 250 微秒,每秒可处理 100 万笔订单
    真正的交易所软件和硬件的投入很大,相比之下开发人员的能力比较渺小
    asmoker
        15
    asmoker  
       2024-08-07 21:52:12 +08:00 via Android
    @cvbnt 真百万并发
    BrjGmj70f6CLT51u
        16
    BrjGmj70f6CLT51u  
       2024-08-07 22:07:31 +08:00
    t/1063329
    这里有一个,而且还开源免费!拿去不用谢
    smlcgx
        17
    smlcgx  
       2024-08-07 22:17:31 +08:00 via iPhone
    看你的交易品类有多少吧,股票外汇期货衍生品,本地市场全球市场,还有楼上说的实时还是延时数据,下个 ibkr 参考一下就知道了
    NoOneNoBody
        18
    NoOneNoBody  
       2024-08-07 23:28:44 +08:00
    到底是交易系统还是交易模型啊?交易系统说的是证交所现在用的那个?
    wxf666
        19
    wxf666  
       2024-08-07 23:29:24 +08:00   1
    @FantaMole #10
    @Sawyerhou #13

    光速 30W KM/S ,一微秒才走 300 米,

    这是要在交易所附近三公里下单,才能几微秒上报成功吗?

    是这么算吗?
    osilinka
        20
    osilinka  
       2024-08-07 23:49:39 +08:00
    一个交易系统估计可以撑起来一个公司了
    234ygg
        21
    234ygg  
       2024-08-08 01:57:09 +08:00
    写个交易不是最难的,难在没有数据,更难在对手都是微秒级的,npc 连参与的资格都没
    agdhole
        22
    agdhole  
       2024-08-08 02:10:58 +08:00
    你说的是交易所的一整套交易系统吗,包括撮合引擎,风控这一大堆?那是难如上青天,估计没有人能一个人写完的。
    tyzandhr
        23
    tyzandhr  
       2024-08-08 02:15:54 +08:00 via Android
    你说的是券商的交易所系统还是对接的自己的决策系统
    234ygg
        24
    234ygg  
       2024-08-08 02:19:22 +08:00
    #21
    顺带一说吧,区块链最快也就毫秒级,这是它压根没前途的本源。这些问题的理论早在上个世纪就已经是板上钉钉的事实了。。靠算力支撑掩盖底层命门,可能最多还剩 10 年可以玩?。
    微秒不是钱可以解决的,需要血统纯正哈哈

    这几天不是正好有个典型的案例吗,有些比较惨的 npc 直接都直接被拔网线了
    RightHand
        25
    RightHand  
       2024-08-08 07:36:10 +08:00 via Android
    你想写个上交所,还是写个券商,这俩是完全不同的
    Frankcox
        26
    Frankcox  
       2024-08-08 08:41:15 +08:00
    @cvbnt 好奇,这样的并发规模和微信或者支付宝的交易相比怎么样?微信和支付宝的处理延迟应该达不到 250 微秒吧?我不清楚这块瞎猜的
    txydhr
        27
    txydhr  
       2024-08-08 08:41:57 +08:00 via iPhone
    你这不叫交易系统,只能叫交易终端
    samnya
        28
    samnya  
       2024-08-08 08:52:33 +08:00   1
    @Frankcox 按我理解,银行类的单笔交易是两个账户之间的,每个账号的并发量不高,可以分散在不同服务器上。
    股票操作的话,单只股票相当于是一个不断被秒杀的商品,如果大家都指着一只来操作,那并发就高了,还要保证原子性。
    而且银行类操作,即使某个比如对公账号需要高频次出入的,他也只要排队就好了吧,转账先后不太影响客户使用。
    diagnostics
        29
    diagnostics  
       2024-08-08 08:52:43 +08:00
    @jjtang11 行情源吧,券商、基金都是花 X 万级别去买
    Frankcox
        30
    Frankcox  
       2024-08-08 08:55:04 +08:00
    @samnya 了解了,谢谢
    diagnostics
        31
    diagnostics  
       2024-08-08 08:56:30 +08:00
    @wxf666 看距离不行,都是拉专线的,现在都是直接部署在交易所里面了吧,不过下单的交易员都是通过专线连到交易所的机器
    diagnostics
        32
    diagnostics  
       2024-08-08 09:00:34 +08:00
    @Frankcox 不是一个业务
    mybro
        33
    mybro  
       2024-08-08 09:01:53 +08:00
    借楼问下 K 线图前端一般用什么库,币相关的
    Sawyerhou
        34
    Sawyerhou  
       2024-08-08 09:09:30 +08:00
    @wxf666 做高频的都是服务器托管给券商,顶级的客户券商直接把客户服务器托管到交易所旁边,距离 100 米都没有。
    qians666
        35
    qians666  
    OP
       2024-08-08 09:25:49 +08:00
    @tyzandhr 交易系统,想知道涉及哪些知识,想知道能不能挑战。
    qians666
        36
    qians666  
    OP
       2024-08-08 09:27:00 +08:00
    @RightHand 上交所,不太考虑交易速度,能实现吗?
    leetom
        37
    leetom  
       2024-08-08 09:47:02 +08:00
    @qians666 #36 你写这个干嘛?写个券商还能理解,可能有办法赚到钱,写个上交所纯粹为了练手吗
    NomadsWiki
        38
    NomadsWiki  
       2024-08-08 10:03:07 +08:00   1
    @leetom #37 有啥不能理解的?写个交易所也是有意义的,写交易所不就相当于写模拟撮合吗,国内的模拟撮合程序到现在都没有一个是真正的实时撮合,全是委托单要素触发直接返回回报这种初中生都能开发的低下水平,就连深交所自己都在开发这类“写个交易所”类的工作,产品都还在初期阶段,见深交所 Finfalco:’https://sipa.sscc.com/#/prodetailIndex/finfalco
    怎么到你这里,就变成无法理解了。。。这才是技术含金量最高的,OP 不就是闲的慌想挑战吗,来吧,写个交易所给大伙看看,这类程序的成品水平可高可低,能用就是成功
    dyllen
        39
    dyllen  
       2024-08-08 10:22:36 +08:00
    @FantaMole 下单到上报微秒,网线速度有这么快吗?
    exmario
        40
    exmario  
       2024-08-08 10:23:12 +08:00
    没有真正的实时撮合只是因为没有办法模拟那么多用户买卖(对手盘)吧

    交易规则本身不复杂,难的更多是时效性和并发
    Rorysky
        41
    Rorysky  
       2024-08-08 10:57:44 +08:00
    @wxf666 打脸也不带你这样的,还能愉快的吹牛逼吗
    smy116
        42
    smy116  
       2024-08-08 10:59:45 +08:00
    难的不是如何实现高速的撮合交易吗?
    julyclyde
        43
    julyclyde  
       2024-08-08 11:03:06 +08:00
    似乎只有
    @tyzandhr
    @RightHand
    说到点上了

    OP 缺乏提问的智慧
    rqzrqh
        44
    rqzrqh  
       2024-08-08 11:18:59 +08:00
    rqzrqh
        45
    rqzrqh  
       2024-08-08 11:22:13 +08:00
    主要有交易系统、行情系统,交易系统需要对数据一致性、高性能编程、分布式系统非常精通,当遇到问题时能选择合适的架构来满足要求。
    qians666
        46
    qians666  
    OP
       2024-08-08 11:29:56 +08:00
    @rqzrqh 擦,就喜欢大佬这样贴脸开大,给您跪了。
    dobelee
        47
    dobelee  
       2024-08-08 12:57:30 +08:00
    你说交易所的交易系统,还是券商的中间交易系统,还是交易员的量化系统?
    前两个你得有钱赔,参考昨天美股关闭夜盘间接导致很多人裸卖空单,现在在谈赔偿亏损。
    最后一个你的有钱亏,即使你写出了能在回溯中完胜的策略,未来的黑天鹅也可能让你一夜归零。
    liferoll
        48
    liferoll  
       2024-08-08 15:12:38 +08:00
    @FantaMole #10 极速交易机器都在在交易所附近(或者是里面)的机房, 具体我也忘了.
    然后单笔交易从发出到交易所, 大概在十几 us
    diagnostics
        49
    diagnostics  
       2024-08-08 15:27:55 +08:00   1
    去看 LMAX 架构吧,华锐等极速交易平台也是这一套这么干的

    总体架构上:

    - Event-Driven 用消息驱动而不是共享内存来并发
    - 消息驱动实现了持久化机制( Event Sourcing ),也实现了 Replication 复制用来做同步
    - 网络层用 Buffer 避免阻塞业务线程
    - 可靠 UDP Multicast 而不是 TCP 通信
    - FPGA 而不是网卡
    - Disruptor 或其他语言上实现的高性能队列(减少线程争用)
    HarveyLiu
        50
    HarveyLiu  
       2024-08-08 16:09:39 +08:00
    难的是“稳定”的接口,国内,国外都一样,稳定大厂的 API 都是收费的,而且都不便宜,这就挡住了 90%的个人开发者了。
    iorilu
        51
    iorilu  
       2024-08-09 08:55:20 +08:00
    关键是国内没有啥稳定, 官方, 且价格便宜的实时数据源阿

    没这个, 还谈啥其他

    要是有实时数据源, 我都愿意开发一个, 弄个简单的比喻异动放量追涨策略也不难
    julyclyde
        52
    julyclyde  
       2024-08-09 10:56:44 +08:00
    @diagnostics howto 可靠的 UDP ?
    diagnostics
        53
    diagnostics  
       2024-08-09 14:24:47 +08:00
    @julyclyde #52 https://github.com/real-logic/aeron

    TCP 怎么实现,UDP 就怎么实现呗,无非就是解决重传下的去重和乱序,用 UDP 的原因是因为 multicast
    dododada
        54
    dododada  
       2024-08-09 14:37:57 +08:00
    是不是赚钱了就要被弄进去?我记得有个散户自己玩策略,赚了被搞进去了,理由好像是破坏市场?
    julyclyde
        55
    julyclyde  
       2024-08-09 17:33:16 +08:00
    @diagnostics multicast 的时候并不知道有多少个接收者啊,那发送端知道该核实哪些接收者的 ack 吗?
    diagnostics
        56
    diagnostics  
       2024-08-10 12:10:03 +08:00
    @julyclyde #55 源码链接都发给你了,你不会自己看?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1352 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 17:07 PVG 01:07 LAX 10:07 JFK 13:07
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86