• 请不要在回答技术问题时复制粘贴 AI 生成的内容
qians666
V2EX  ›  程序员

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

  •  
  •   qians666 · Aug 7, 2024 · 7619 views
    This topic created in 827 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

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

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

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

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

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

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

    总体架构上:

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

    没这个, 还谈啥其他

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

    TCP 怎么实现,UDP 就怎么实现呗,无非就是解决重传下的去重和乱序,用 UDP 的原因是因为 multicast
    dododada
    dododada
    Aug 9, 2024
    54
    是不是赚钱了就要被弄进去?我记得有个散户自己玩策略,赚了被搞进去了,理由好像是破坏市场?
    julyclyde
    julyclyde
    Aug 9, 2024
    55
    @diagnostics multicast 的时候并不知道有多少个接收者啊,那发送端知道该核实哪些接收者的 ack 吗?
    diagnostics
    diagnostics
    Aug 10, 2024
    56
    @julyclyde #55 源码链接都发给你了,你不会自己看?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1181 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 111ms · UTC 17:46 · PVG 01:46 · LAX 09:46 · JFK 12:46
    ♥ Do have faith in what you're doing.