股票代码怎么用python快速查行情和做交易
摘要:
用python根据股票代码抓取行情数据是量化交易的起点。通过公开接口获取股票代码对应的实时价格、历史K线和财务指标,再结合简单策略判断买卖点。期货品种代码同样适用,掌握后能搭建自动化监控与回测框架。

股票代码到底在python里怎么用
打开任何一款炒股软件,输入一串数字就能看到对应的K线图、分时图和盘口数据。这串数字就是股票代码。在python里,股票代码是一把钥匙,拿着它就能从各个数据接口里把公开的行情数据取出来。
很多刚接触编程的投资者会卡在第一步:代码格式不统一。A股代码是六位数字,上海市场以60开头,深圳市场以00开头,创业板是30开头,科创板是68开头。期货代码稍微复杂一点,上期所的螺纹钢是rb,大商所的豆粕是m,郑商所的白糖是SR,后面还要跟合约月份。python处理这些代码之前,先要做标准化,把带前缀的、带后缀的、大小写混用的代码统一成接口能识别的格式。
用python拿股票代码查行情
最常见的需求是拿代码查实时价格。以开源接口akshare为例,一行代码就能拿到单只股票的最新价。

import akshare as ak
stock_code = "600519"
df = ak.stock_zh_a_spot_em()
row = df[df["代码"] == stock_code]
print(row[["代码", "名称", "最新价", "涨跌幅"]])
这段代码把全市场几千只股票的实时快照拉下来,再按代码筛选。数据源来自东方财富的公开页面,延迟大概几秒钟,做个人监控完全够用。
需要历史日线数据,可以用另一个函数,传入代码和起止日期,返回的是标准的DataFrame,每行包含开盘价、最高价、最低价、收盘价、成交量和成交额。这些字段就是后面策略回测的原材料。
查期货行情也是同样的逻辑。期货代码要带交易所前缀,比如上期所的铜是CU,主力合约代码通常是CU0或者CU连续。用akshare的期货接口,传入品种代码和合约代码,能拿到分时数据和日线数据。
股票代码和期货代码的差别在哪里
股票代码背后是一家公司,期货代码背后是一份标准化合约。股票的代码是固定的,一家公司上市之后代码不会变。期货代码会随着合约到期而消失,一个品种同时存在多个活跃合约,每个合约有自己的代码和到期日。
在python里处理期货代码,重点在于识别主力合约和连续合约。主力合约是成交量和持仓量最大的那个合约,行情软件里一般用主力连续代码展示。做量化回测时,不能把不同合约的价格直接拼成一条长序列,因为换月的时候价格会有跳空。比较通用的做法是用复权价格或者价差调整后的连续序列。
股票没有到期日,回测时只需要考虑分红送股带来的除权除息,用前复权价格就能处理。期货要考虑交割月、保证金变化和换月规则,代码逻辑要复杂一些。
根据代码做简单策略判断
拿到数据之后,下一步是让代码自己干活。一个最朴素的思路是均线策略:短周期均线上穿长周期均线买入,下穿卖出。用pandas几行代码就能算出来。
import pandas as pd
df["ma5"] = df["收盘"].rolling(5).mean()
df["ma20"] = df["收盘"].rolling(20).mean()
df["signal"] = 0
df.loc[df["ma5"] > df["ma20"], "signal"] = 1
df.loc[df["ma5"] < df["ma20"], "signal"] = -1
这段代码给每根K线打上信号标签。1代表持有,-1代表空仓或者做空。期货是双向交易,信号可以直接对应开多和开空。股票只能做多,-1信号就理解为平仓离场。
回测的时候要算上手续费和滑点,尤其是期货,杠杆交易下手续费对收益的侵蚀比股票大得多。股票代码回测还要注意涨跌停限制,涨停板买不进,跌停板卖不出,这个细节在实盘里非常关键,回测里如果不处理,收益曲线会严重失真。
用代码搭建自动监控
把上面几个环节串起来,就能做一个自动监控脚本。设定一个股票代码列表,每隔几分钟拉一次最新价,如果价格突破某个阈值,就发一封邮件或者推一条微信消息。
期货代码的监控可以更细,除了价格,还可以监控持仓量和成交量变化。持仓量突然放大往往意味着有大资金进场,价格波动会加剧。用python把持仓量变化率和价格变化率放在一起看,比单纯盯价格更有信息量。
这套框架不依赖任何付费终端,全部用公开接口就能跑通。数据准确性和实时性跟专业终端有差距,做个人研究和小资金策略验证足够用了。关键是把代码格式统一、数据清洗做好、回测逻辑写严谨,剩下的就是反复调参和验证。
声明
转载声明:欢迎分享本文,转载请注明出处!
点击复制: