前面介绍过几个supermind的实用函数,今天再介绍几个:
1、open_auction,集合竞价后(9:26)调用一次
调用方法:
def open_auction(context,bar_dict):
这个函数的使用情景是在集合竞价结束后,根据当日的开盘价,进行某种股票交易动作。
以下代码为假设情景,开盘价>上一交易日收盘价,就在集合竞价后买入一手:
# 获取平安银行昨日收盘价
value = get_price(['000001.SZ'], None, '20240605','1d', ['close'], True, None, 1, is_panel=1)
# 如果今日开盘价>昨日收盘价,就在集合竞价后买入一手
def open_auction(context, bar_dict):
if value['close'].iloc[0][0]<get_call_auction(['000001.SZ'],'20230606')['price'].iloc[0]:#前天,昨天
order('000001.SZ', 100)
2、get_candle_stick,生成K线
不但能生成1分钟和1日K线,还能生成其他周期K线。
支持的周期为:
- 分钟:支持’1m’,’5m’,’15m’,’30m’,’60m’
- 日频:支持自定义天数,’nd’,例如’2d’代表2天
- 周:’week’
- 月:’month’
- 年:’year’
有了这个函数,就不用自己辛辛苦苦合成其他周期的K线了。函数的参数比较多,详情可查看官方文档。代码示例:
# 获取000002.SZ在2024年6月6日前6个月线的行情数据
get_candle_stick(
['000002.SZ'],
end_date='20240606',
fre_step='month',
fields=['open', 'close', 'high', 'low', 'volume'],
skip_paused=False,
fq='pre',
bar_count=6,
is_panel=0
)
返回:

3、get_stats,统计涨跌区间个股数量
参数只有一个,就是日期,默认为当天。
函数返回21个涨跌幅区间:(无穷小,-9),[-9,-8)…[-1,0),[0],(0,1]…(9,无穷大)
下面看一下昨天的涨跌支数:
keys = ['<-9', '-9~-8','-8~-7','-7~-6','-6~-5','-5~-4','-4~-3','-3~-2','-2~-1',
'-1~0','0','0~1' ,'1~2' ,'2~3' ,'3~4' ,'4~5' ,'5~6' ,'6~7' ,'7~8' ,'8~9' ,'>9']
values = get_stats('2024-06-06')
dictionary = {keys[i]: values[i] for i in range(len(keys))}
print(dictionary)
返回:
{‘<-9’: 171, ‘-9~-8’: 117, ‘-8~-7’: 227, ‘-7~-6’: 395, ‘-6~-5’: 646, ‘-5~-4’: 806, ‘-4~-3’: 724, ‘-3~-2’: 617, ‘-2~-1’: 531, ‘-1~0’: 341, ‘0’: 28, ‘0~1’: 200, ‘1~2’: 125, ‘2~3’: 60, ‘3~4’: 31, ‘4~5’: 24, ‘5~6’: 13, ‘6~7’: 4, ‘7~8’: 3, ‘8~9’: 4, ‘>9’: 27}
4、获取某一天全市场股票的所有因子
一共可以获取124个因子(见下图,127-3,前3列为序号、代码和日期)

我们获取一下昨天的MACD因子值,并排序:
df = run_query(
query(
factor
).filter(
factor.date == '2024-06-06'
)
)
df[['factor_symbol','factor_date','factor_macd']].sort_values('factor_macd',ascending = False)
返回(前面部分截图):

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/73417
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!