学习笔记 select的用法

本文探讨了如何通过分段对股票当日涨跌进行标记,涉及百分比变化阈值的设置,并结合技术指标如连续十字星、扁线判断方法,揭示了交易信号的生成过程。同时,关注了K_bianxian_flag的计算及其在形态识别中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#####对当日涨跌进行分段
df1['pct_chg_cate'] = np.select([((df1['pct_chg']>=4.9999)),
                                  ((df1['pct_chg'] <4.9999) & (df1['pct_chg']>=1.5001)),
                                 ((df1['pct_chg'] <(1.5001)) & (df1['pct_chg']>=(-1.5001))),
                                 ((df1['pct_chg'] <(-1.5001)) & (df1['pct_chg']>=(-4.9999))),((df1['pct_chg']  <(-4.9999)))],[5,4,3,2,1])

#连续十字星
df1['shizi_panzheng_1']    = ta.SUM(df1['K_bianxian_flag'], timeperiod=15)
df1['shizi_panzheng'] = np.where((df1['shizi_panzheng_1']>9)   & (abs(df1['ma89xielv'])<1.2)  & (df1['ma21xielv']>0)),1,0)

#是否扁线(实体部分绝对长度低,且当天涨幅小,要修改,上次是根据历史长度来确定扁线)
df1['K_bianxian_flag'] = np.where(df1['shiti_len']<=1.5,1,0)

#是否扁线(实体部分绝对长度低,且当天涨幅小)
df1['shiti_len_count10']    = ta.SUM(df1['shiti_len'], timeperiod=10)
df1['shiti_len_count30']    = ta.SUM(df1['shiti_len'], timeperiod=30)
df1['shiti_len_pingjun']   = (df1['shiti_len_count30'] - df1['shiti_len_count10'])/60
df1['K_bianxian_flag'] = np.where(df1['shiti_len']<=1.5 & df1['shiti_len']<df1['shiti_len_pingjun'],1,0)
df1 = df1.drop(['shiti_len_count10','shiti_len_count30','shiti_len_pingjun'],axis=1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值