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

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

  •  
  •   qians666 · 98 天前 · 5400 次点击
    这是一个创建于 98 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

    自己做的话难点不在开发,在于策略,只要有赚钱的策略,代码可以找外包写。
    Sawyerhou
        13
    Sawyerhou  
       98 天前 via Android
    @ivvei 毫秒以上高频根本没必要做了,都是微秒级别,慢的百微秒,快的个微秒。
    cvbnt
        14
    cvbnt  
       98 天前   ❤️ 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  
       98 天前 via Android
    @cvbnt 真百万并发
    BrjGmj70f6CLT51u
        16
    BrjGmj70f6CLT51u  
       98 天前
    https://www.v2ex.com/t/1063329
    这里有一个,而且还开源免费!拿去不用谢
    smlcgx
        17
    smlcgx  
       98 天前 via iPhone
    看你的交易品类有多少吧,股票外汇期货衍生品,本地市场全球市场,还有楼上说的实时还是延时数据,下个 ibkr 参考一下就知道了
    NoOneNoBody
        18
    NoOneNoBody  
       98 天前
    到底是交易系统还是交易模型啊?交易系统说的是证交所现在用的那个?
    wxf666
        19
    wxf666  
       98 天前   ❤️ 1
    @FantaMole #10
    @Sawyerhou #13

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

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

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

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

    交易规则本身不复杂,难的更多是时效性和并发
    Rorysky
        41
    Rorysky  
       98 天前
    @wxf666 打脸也不带你这样的,还能愉快的吹牛逼吗
    smy116
        42
    smy116  
       98 天前
    难的不是如何实现高速的撮合交易吗?
    julyclyde
        43
    julyclyde  
       98 天前
    似乎只有
    @tyzandhr
    @RightHand
    说到点上了

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

    总体架构上:

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

    没这个, 还谈啥其他

    要是有实时数据源, 我都愿意开发一个, 弄个简单的比喻异动放量追涨策略也不难
    julyclyde
        52
    julyclyde  
       97 天前
    @diagnostics howto 可靠的 UDP ?
    diagnostics
        53
    diagnostics  
       96 天前
    @julyclyde #52 https://github.com/real-logic/aeron

    TCP 怎么实现,UDP 就怎么实现呗,无非就是解决重传下的去重和乱序,用 UDP 的原因是因为 multicast
    dododada
        54
    dododada  
       96 天前
    是不是赚钱了就要被弄进去?我记得有个散户自己玩策略,赚了被搞进去了,理由好像是破坏市场?
    julyclyde
        55
    julyclyde  
       96 天前
    @diagnostics multicast 的时候并不知道有多少个接收者啊,那发送端知道该核实哪些接收者的 ack 吗?
    diagnostics
        56
    diagnostics  
       95 天前
    @julyclyde #55 源码链接都发给你了,你不会自己看?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5077 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 03:55 · PVG 11:55 · LAX 19:55 · JFK 22:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.