繁簡切換您正在訪問的是FX168財經網,本網站所提供的內容及信息均遵守中華人民共和國香港特別行政區當地法律法規。

FX168财经网>人物频道>帖子

一个小函数求debug,按照报告期股东户数减少率排序

作者/lcb173376 2019-08-03 18:00 0 来源: FX168财经网人物频道

从克隆自聚宽文章:https://www.joinquant.com/post/20635帖子里面看的思路,选出一个小列表,读取最近两条股东户数信息,用最近1条除倒数第二条,按照从小到大排序;感觉错了很多地方,上年纪了0基础,调参调够了,尝试自己写个小函数到处是错……
函数:
def sort_by_holder_reduce(context,stocklists):
stocklists=[]
g.shareholder_table=[]
for stock in stocklists:
df=finance.run_query(query(finance.STK_HOLDER_NUM).filter(finance.STK_HOLDER_NUM.code==code).limit(2))
shareholder_ratio=df.ix[1,'a_share_holders']/df.ix[0,'a_share_holders']
g.shareholder_table.append({'code':stock,'shareholder_ratio':shareholder_ratio})
shareholder=pd.DataFrame(g.shareholder_table)

#对shareholder_ratio列进行降序排序,
shareholder=shareholder.sort_values('shareholder_ratio',ascending=False)
#选取股东户数减少最多的30名
buylist=shareholder['code'].head(30)
#以列表的形式返回结果
return list(buylist)

报错:

Traceback (most recent call last):
File "/tmp/jqcore/jqboson/jqboson/core/entry.py", line 368, in _run
engine.start()
File "/tmp/jqcore/jqboson/jqboson/core/engine.py", line 232, in start
self._dispatcher.start()
File "/tmp/jqcore/jqboson/jqboson/core/dispatcher.py", line 273, in start
self._run_loop()
File "/tmp/jqcore/jqboson/jqboson/core/dispatcher.py", line 240, in _run_loop
self._loop.run()
File "/tmp/jqcore/jqboson/jqboson/core/loop/loop.py", line 84, in run
self._handle_queue()
File "/tmp/jqcore/jqboson/jqboson/core/loop/loop.py", line 124, in _handle_queue
message.callback(message.callback_data)
File "/tmp/jqcore/jqboson/jqboson/core/dispatcher.py", line 110, in callback
self._event_bus.emit(evt)
File "/tmp/jqcore/jqboson/jqboson/core/bus.py", line 47, in emit
ret.append(call(event))
File "/tmp/jqcore/jqboson/jqboson/core/strategy.py", line 376, in _wrapper
return cb(self._context.strategy_environment.strategy_context,
cb_kwargs)
File "/tmp/strategy/user_code.py", line 92, in before_market_open
g.buylist=sort_by_holder_reduce(context,filter1)
File "/tmp/strategy/user_code.py", line 116, in sort_by_holder_reduce
shareholder=shareholder.sort_values('shareholder_ratio',ascending=False)
File "pandas/core/frame.py", line 4421, in sort_values
stacklevel=stacklevel)
File "pandas/core/generic.py", line 1382, in _get_label_or_level_values
raise KeyError(key)
KeyError: 'shareholder_ratio'

分享到:
举报财经168客户端下载

全部回复

0/140

投稿 您想发表你的观点和看法?

更多人气分析师

  • 张亦巧

    人气2144文章4145粉丝45

    暂无个人简介信息

  • 梁孟梵

    人气2152文章3177粉丝39

    qq:2294906466 了解群指导添加微信mfmacd

  • 指导老师

    人气1856文章4423粉丝52

    暂无个人简介信息

  • 李冉晴

    人气2296文章3821粉丝34

    李冉晴,专业现贷实盘分析师。

  • 刘钥钥1

    人气2016文章3119粉丝34

    专业从事现货黄金、现货白银模似实盘操作分析指导

  • 张迎妤

    人气1896文章3305粉丝34

    个人专注于行情技术分析,消息面解读剖析,给予您第一时间方向...

  • 金泰铬J

    人气2320文章3925粉丝51

    投资问答解咨询金泰铬V/信tgtg67即可获取每日的实时资讯、行情...

  • 金算盘

    人气2696文章7761粉丝125

    高级分析师,混过名校,厮杀于股市和期货、证券市场多年,专注...

  • 金帝财神

    人气4728文章8329粉丝118

    本文由资深分析师金帝财神微信:934295330,指导黄金,白银,...