以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 高级功能研发区 (http://weistock.com/bbs/list.asp?boardid=5) ---- 新人求助,,,,python代码! (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=184741) |
-- 作者:tan901002 -- 发布时间:2021/3/16 22:59:40 -- 新人求助,,,,python代码! close1 = history_bars_date(index_num,begin_date,end_date,\'1d\',\'close\') # 把股票代码传到这个函数中得到区间每天的收盘价 num1 = ( round(close1[-1],2) - round(close1[0],2) )/round(close1[0],2) * 100 # 大盘的涨跌幅 index_num = round(num1,2) name_num = get_blocks(\'上海A股\',0) #求个股股票代码 for i in name_num: #遍历自选股中的每个股的股票代码 close = history_bars_date(i,begin_date,begin_date,\'1d\',\'close\') #把股票代码传到这个函数中得到区间每天的收盘价 close1 = history_bars_date(i,end_date,end_date,\'1d\',\'close\') num = ((round(close1[0],2) - round(close[0],2))/ round(close[0],2)) * 100# if num > index_num: print(i) else: pass 我用自选股做测试能得到结果,但是用上海A股测试就报错了~ > 开始编译 <jzt_MyPython5> ...... > > 编译错误 : IndexError > line : 14 > 错误信息 : index -1 is out of bounds for axis 0 with size 0 是哪里出了问题呢?感谢老大帮忙~~~~ |
-- 作者:tan901002 -- 发布时间:2021/3/16 23:00:18 -- begin_date = \'20210729\' #计算的时间周期 end_date = \'20210826\' name_num = get_blocks(\'自选股\',1) index_num = \'sh000001\' #求指数涨跌幅 #计算指数区间的涨跌幅函数 close1 = history_bars_date(index_num,begin_date,end_date,\'1d\',\'close\') # 把股票代码传到这个函数中得到区间每天的收盘价 num1 = ( round(close1[-1],2) - round(close1[0],2) )/round(close1[0],2) * 100 # 大盘的涨跌幅 index_num = round(num1,2) name_num = get_blocks(\'上海A股\',0) #求个股股票代码 for i in name_num: #遍历自选股中的每个股的股票代码 close = history_bars_date(i,begin_date,begin_date,\'1d\',\'close\') #把股票代码传到这个函数中得到区间每天的收盘价 close1 = history_bars_date(i,end_date,end_date,\'1d\',\'close\') num = ((round(close1[0],2) - round(close[0],2))/ round(close[0],2)) * 100# if num > index_num: print(i) else: pass
|
-- 作者:tan901002 -- 发布时间:2021/3/16 23:05:38 -- 我补一下全部代码,求解决~~~谢谢~ 错误信息 : index -1 is out of bounds for axis 0 with size 0 我主要是想问一下,怎么解决这个报错呢?
|
-- 作者:tan901002 -- 发布时间:2021/3/16 23:15:41 -- # 该Python代码用于模块定义,供其他Python代码或VBA调用。 from PythonApi import * begin_date = \'20210729\' #计算的时间周期 end_date = \'20210826\' index_num = \'sh000001\' name_num = get_blocks(\'自选股\',1) #求指数涨跌幅 index_close = history_bars_date(index_num,begin_date,end_date,\'1d\',\'close\') # 把股票代码传到这个函数中得到区间每天的收盘价 num1 = (round(index_close[-1],2) - round(index_close[0],2))/ round(index_close[0],2) * 100 # 大盘的涨跌幅 index_num1 = round(num1,2) for i in name_num: #遍历自选股中的每个股的股票代码 close_star = history_bars_date(i,begin_date,begin_date,\'1d\',\'close\') #把股票代码传到这个函数中得到区间每天的收盘价 close_end = history_bars_date(i,end_date,end_date,\'1d\',\'close\') num = ((round(close_end[0],2) - round(close_star[0],2))/ round(close_star[0],2)) * 100# if num > index_num: print(i) else: pass > 开始编译 <jzt_MyPython5> ...... > > 编译错误 : IndexError > line : 11 > 错误信息 : index -1 is out of bounds for axis 0 with size 0 我改了错误的地方,还是报错~~~~~~
|
-- 作者:tan901002 -- 发布时间:2021/3/16 23:37:13 -- # 该Python代码用于模块定义,供其他Python代码或VBA调用。 from PythonApi import * begin_date = \'20210129\' #计算的时间周期 end_date = \'20210226\' index_num = \'sh000001\' name_num = get_blocks(\'上海A股\',0) #求指数涨跌幅 index_close = history_bars_date(index_num,begin_date,end_date,\'1d\',\'close\') # 把股票代码传到这个函数中得到区间每天的收盘价 num1 = (round(index_close[-1],2) - round(index_close[0],2))/ round(index_close[0],2) * 100 # 大盘的涨跌幅 index_num1 = round(num1,2) for i in name_num: #遍历自选股中的每个股的股票代码 close_star = history_bars_date(i,begin_date,begin_date,\'1d\',\'close\') #把股票代码传到这个函数中得到区间每天的收盘价 close_end = history_bars_date(i,end_date,end_date,\'1d\',\'close\') num = (round(close_end[0],2) - round(close_star[0],2))/ round(close_star[0],2) * 100# if num > index_num1: print(i) else: pass 我试了,还是报错~~~~ > line : 16 > 错误信息 : index 0 is out of bounds for axis 0 with size 0 求大神帮助!!!!
|
-- 作者:yukizzc -- 发布时间:2021/3/17 11:03:41 -- from PythonApi import *
你自己在出错代码前面加print输出看数据不就清楚了吗,数据是[]你本地没有数据要补充下 建议用户一定要有一定调试能力,这种报错就是数组越界等 |
-- 作者:tan901002 -- 发布时间:2021/3/17 17:10:49 -- 好的,谢谢谢谢~我也是新手,请多包涵~~~ |