企业微信

国金证券API到底是个什么东西

很多朋友一听到“API”三个字就头大,觉得那是程序员才碰的东西。换个说法你就明白了:API就像你家小区门口的快递柜。快递员(券商系统)把包裹(行情数据、交易指令)放进柜子,你拿着取件码(API接口)就能取走或者寄出,不需要认识快递员本人,也不需要进快递公司的大门。

国金证券API就是国金证券给投资者开的一个“快递柜”。你通过它,可以用自己写的程序去查股票行情、查期货行情、查账户资金、下单买卖、撤单、查持仓。以前这些操作你得打开交易软件手动点,现在你可以让电脑帮你盯着,条件一到自动执行。

它本质上是一套通信规则,不是策略本身。你告诉程序“当某只股票价格跌破20日均线就卖出一半”,程序通过API把这句话翻译成券商系统能懂的指令发出去。

为什么有人愿意折腾API而不是用现成软件

现成的交易软件功能很全,但有几个硬伤。手动下单速度慢,盘中盯着十几个品种根本看不过来。情绪干扰大,明明设好了止损,真跌到那个位置手就软了。策略没法回测,你拍脑袋想出来的“金叉买入死叉卖出”到底赚不赚钱,只能拿真金白银去试。

国金证券API怎么用散户也能自己写量化交易吗

API把这些问题一次性解决。程序不会犹豫,条件触发立刻执行。你可以把过去五年的数据拉出来跑一遍策略,看看最大回撤多少、胜率多少、盈亏比多少,心里有数了再上实盘。多品种同时监控也不费劲,股票期货一起盯,哪个出信号做哪个。

国金证券在量化接口这块布局比较早,对个人投资者相对友好。开通门槛不算高,一般需要你有一定的资产量或者交易经验,具体找客户经理确认。开通后会拿到接口文档、测试环境、授权密钥,剩下的就是写代码调通了。

用Python接国金证券API的基本流程

整个流程分四步走。第一步是环境准备,装好Python,把国金提供的SDK包安装上。第二步是登录认证,用资金账号和密码换一个token,后续所有请求都带着这个token。第三步是订阅行情,告诉系统你要盯哪些股票或期货合约,数据会推送到你本地。第四步是写交易逻辑,满足条件就调用下单函数。

下面是一段极简的伪代码演示,帮你理解程序长什么样。真实接口以国金官方文档为准,这里只展示骨架逻辑。


# 伪代码演示,非真实可运行代码

from guojin_api import TradeApi

api = TradeApi()

api.login(account='你的资金账号', password='你的密码')

# 订阅行情

api.subscribe(['600519.SH', 'IF2406.CFE'])

# 策略循环

def on_tick(tick):

    if tick.symbol == '600519.SH':

        price = tick.last_price

        ma20 = calc_ma('600519.SH', 20)

        if price < ma20 * 0.97:

            api.sell('600519.SH', volume=100, price_type='market')

api.run(on_tick)

代码里calc_ma是自己写的均线计算函数,api.sell是国金接口提供的卖出方法。整段逻辑翻译成人话就是:茅台现价比20日均线低3%就市价卖掉100股。

期货这边逻辑一样,只是合约代码不同,还要注意保证金和杠杆。股票是全额交易,期货是保证金交易,同样一笔钱能撬动更大的合约价值,亏损放大的速度也快得多。用API做期货,仓位管理必须更严格,程序里要写死单笔最大亏损比例。

股票和期货用API交易的核心差异

股票API交易相对简单,T+1制度下当天买的不能当天卖,策略周期偏中长线。盯盘频率不用太高,分钟级甚至日线级就够用。分红除权这些细节券商系统会处理,程序里不用操太多心。

期货API交易复杂得多。T+0可以当天反复开平,杠杆倍数高,夜盘连续交易,主力合约还会换月。程序里要处理合约到期移仓的逻辑,要计算动态保证金,要防止盘中保证金不足被强平。很多做股票策略跑得不错的人转期货,上来就栽跟头,问题就出在杠杆和换月上。

国金证券的API对股票和期货都有支持,但两套接口的字段和规则有差异。写代码的时候别想着用一套逻辑通吃,股票用股票的函数,期货用期货的函数,分开处理最稳妥。

散户用API最容易踩的三个坑

第一个坑是把API当策略。接口只是工具,能不能赚钱取决于你的交易逻辑。有人调通了接口兴奋得不行,随便写个追涨杀跌的策略就上实盘,结果手续费和滑点把利润全吃光。回测的时候要把交易成本算进去,股票双边万三左右,期货按合约收,高频策略尤其要算清楚。

第二个坑是网络和异常处理。程序跑在家里宽带上,断网了怎么办,券商服务器维护了怎么办,下单超时了怎么确认是成交了还是没成交。这些异常情况必须写进代码里,比如超时后重新查一次持仓,而不是傻等。实盘和模拟盘最大的区别就是意外多。

第三个坑是风控缺位。程序化交易最怕“死循环下单”,策略逻辑写错了,一个条件反复触发,几分钟能把仓位打满。程序里必须加硬性限制:单日最大交易次数、单笔最大手数、账户最大回撤熔断。这些限制写在策略外面,不依赖策略本身的判断。

什么情况下不建议折腾API

资金量太小没必要。几万块钱做股票,手动买卖和程序交易差别不大,花几周时间调接口不划算。没有编程基础也别硬上,Python入门至少要能看懂循环和条件判断,否则出错了连日志都看不懂。

对交易频率没要求的人也用不上。如果你就是每月定投一次指数基金,API对你来说完全多余,手机App点两下就完事了。

API真正的价值在于纪律和执行效率。你有明确的策略规则,需要机器帮你严守纪律,或者你需要同时监控几十个品种捕捉机会,这时候API才值得投入精力。国金证券API给散户开了一扇门,门后面是工具还是陷阱,取决于你带着什么样的策略和风控走进去。