京公网安备 11010802034615号
经营许可证编号:京B2-20210330
如何使用Python api 函数写股票策略
写策略需要了解的语法包括两方面,一方面是语言本身的语法(包括相关库),另一方面是量化平台提供的api。量化平台提供的api帮助文件里都有了,本文主要介绍写策略经常用到的库(datetime、numpy、pandas)中的一些函数。
1、 利用datetime库做日期、时间操作
利用context.now可以获得当前策略运行的时间,返回的是datetime.datetime格式。datetime.datetime格式可以很方便的进行日期、时间操作。比如timedelta可以很方便的在日期上做日、小时、分钟、秒的运算。例如,需要策略运行时间1天前的时间,可以这样写:context.now+datetime.timedelta(days=-1),返回的便是一天前的时间。
2、 利用pandas做数据变频。
量化平台一般只提供分钟或者日频的数据,如果我们需要周、月的数据怎么办呢?pandas的resample函数可以很好的解决这个问题。举个例子,假如我们需要沪深300每月最后一个交易日的收盘价,我们可以这样写:
d= get_history(100,'1d','close')[‘000300.SH’].resample(‘m’,how=’last’)
3、利用set格式选取交集
有的时候我们利用不同标准会得到不同的股票池,如果想得到不同股票池的共同股票,那么可以使用set格式。Set格式可以很方便的进行交集、并集等集合运算。这里举一个例子,比如我们通过设置一定的财务数据条件会得到一个dataframe,记作df。df的列为股票代码,但可能并不都是我们所需的,比如我们只想得到沪深300的成份股,那么可以这样操作:1、s=get_index_constituents(‘000300.SH’) 得到沪深300的成份股。2、z=set(s) & set(df.columns) 得到交集z。3、得到的z是set格式,需要转换为list格式,可以这样操作 zl=list(z)。4、利用pandas 函数 筛选出我们需要的个股 d=df.loc[:zl] d即位我们所需要的数据。
4、 利用try…except跳过出错部分代码
有时候我们会遇到一些不是很重要的问题,但是由于遇到这类问题会报错,从而影响程序执行,这时我们希望的是忽略这些错误就可以了。下面举一个例子说明try…except 的用法。
比如:我们用p表示一只股票某一时刻的价格,v表示这只股票的成交量,我们想计算p/v,但是有可能该股票没有成交量(停牌,或者涨跌停了)这时直接计算就会出错,程序会跳出。这是我们可以try…except做如下处理:
try:d=p/v
except:d=0
意思就是如果计算p/v发生错误,那么就将d赋值为0
5、 利用pickle模块保存变量
有时候我们需要将当前工作空间的变量保存下来,这时可以使用pickle来解决,举个例子,假如目前工作空间有a,b,c三个变量,我们可以进行如下操作:1、f=open(‘file.pkl’,’wb’) 建立一个文件链接。2、import pickle;pickle.dump([a,b,c],f) 这样就可以保存了。读取时1、f=open(‘file.pkl’,’rb’) 2、import pickle;z=pickle.load([a,b,c],f) 这样将读取的变量都保存到了z变量中,通过z[0],z[1],z[2]可以获取a,b,c变量。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
“大学里需要考的证书”这个问题,最容易掉进的坑是把它当成一份标准答案清单。实际上,不存在人人必考的绝对清单。同样是四六级 ...
2026-11-03先说结论:不存在一张适合所有大学生的“含金量最高”证书。同一张证书,对目标岗位是运营的人可能是加分项,对准备考执业资格的 ...
2026-11-03大学毕业能考的证书,先按性质分成五类:职业资格准入类、专业技术资格(职称)类、职业技能等级类、行业与企业认证类、通用能力 ...
2026-11-03专科可以考的证书并不少,但“能报名”和“对求职有用”是两件事。比较稳妥的顺序是:先查当期官方报考简章里的学历、专业、工作 ...
2026-11-03先说结论:中年女性选证书,关键不是找一份“十大高薪证书”榜单,而是先判断自己属于哪一种处境——在职升级、待业转岗,还是育 ...
2026-11-03先把结论说清楚:国内并没有官方发布的“五大含金量最高证书”榜单。网上流传的版本,评选标准往往是薪资、通过率或广告投放,互 ...
2026-11-03手里有一张职业技能等级证书,想确认它是否真实有效,最直接的做法不是在网上搜“证书查询”,而是先确认这张证书由哪类机构发放 ...
2026-11-03“有用且好考”这个搜索词背后,藏着两个容易混淆的判断。很多人把“好考”理解成题目简单,把“有用”理解成拿证就能找到工作, ...
2026-11-03想考证但没方向,最容易踩的坑是打开搜索框直接看“十大含金量证书”,结果越看越乱。更稳妥的顺序是反过来的:先弄清证书按用途 ...
2026-11-03土木工程专业的学生来问证书,通常不是想收集一张清单,而是想弄清一件事:在校这几年,哪些证值得花时间,哪些必须等毕业以后再 ...
2026-11-03“适合大学生考的计算机专业证书”没有通用榜单。想做后端开发、云运维、网络安全或数据分析,该考的证书并不相同;更关键的是, ...
2026-11-03上班族考什么证书比较好,答案不在“含金量排行榜”里,而在你自己的目标岗位上。更实用的做法是:先明确考证要解决什么问题—— ...
2026-11-03“全国认可”这四个字,在证书宣传里出现频率极高,含义却经常被混用。有人把它理解成“国家职业资格”,有人理解成“全国通用、 ...
2026-11-03“女人应该考些什么证”这个问题,很难有一张统一榜单。女性在不同年龄、学历、专业和职业阶段,能报考的证书、需要解决的问题差 ...
2026-11-03“女孩子考什么证书比较吃香”背后往往藏着两层焦虑:证书信息太杂,不知道哪个真有用;又怕被“适合女生”的说法带进窄赛道。先 ...
2026-11-03“含金量高”的证书,从来不是一个统一榜单。同一张证书,对想进医院的人、想进律所的人、想转数据分析的人,价值完全不同。所以 ...
2026-11-03“男的考什么证好找工作”这个问题,真正要解决的不是“哪张证最有用”,而是“你想去的岗位,招人时到底看什么”。证书的价值来 ...
2026-11-03“目前考什么证书比较好且有用”,很难有一份通用榜单。证书的价值不取决于它本身多热门,而取决于你拿它去解决什么问题:让简历 ...
2026-11-03金融专业没有一个“含金量最高”的统一答案。同样是证书,证券从业资格解决的是入行门槛,CPA解决的是执业签字权,CFA对应投研与 ...
2026-11-03直接回答:不是所有证书都值得考,也不是“考得越多越好”。在校期间要不要投入一张证书,先看三件事——目标岗位是否真的需要它 ...
2026-11-03