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

FX168財經網>人物頻道>帖子

handle_data函數移植中的注意事項:data對象

作者/44444 2019-08-25 20:00 0 來源: FX168財經網人物頻道

在目前新版的聚寬教程中,推薦使用run_daily(自定義函數,頻率)來替代原來的handle_data(context,data)函數
推薦的示例如下:

def initialize(context):
    run_daily(period,time='every_bar')
    g.security = '000001.XSHE'

def period(context):
    order(g.security, 100)

我們在參考社區里面的老的策略代碼的時候,還有一些策略使用的是老的框架結構。如果想借用原來handle_data中的邏輯,放到自己定義的函數中,就會碰到對data對象引用的問題。

def period(context,data):在編譯運行時會碰到下面的報錯:
TypeError: period() missing 1 required positional argument: 'data'

考慮到data對象的屬性在get_price()返回的對象中都有,幾個基本的屬性和get_current_data()得到的對象屬性類似,可以采取下列辦法

def period(context):
    current_data = get_current_data()   #用get_current_data()或者get_price()的返回對象來替代data對象
    # 得到當前價格
    #price = data[security].price    #data對象中的當前價用的是price
    price = current_data[security].last_price    #get_current_data()返回的對象中,當前價用的是last_price
    ......
    order(g.security, 100)

就是用get_current_data()或者get_price()的返回對象來替代data對象,注意兩種對象的引用方式和屬性名稱不完全一致,因此要對相關的語句做適當的修改。

get_current_data() 詳見API中的get_current_data
返回值是一個dict, 其中 key 是股票代碼, value 是擁有如下屬性的對象
last_price : 最新價
high_limit: 漲停價
low_limit: 跌停價
paused: 是否停止或者暫停了交易, 當停牌、未上市或者退市後返回 True
is_st: 是否是 ST(包括ST, ST),是則返回 True,否則返回 False
day_open: 當天開盤價
name: 股票現在的名稱, 可以用這個來判斷股票當天是否是 ST,
ST, 是否快要退市
industry_code: 股票現在所屬行業代碼

get_price()用起來相對複雜一些,參數比較多,返回信息也多。詳細情況見API中的get_price:
get_price(security, start_date=None, end_date=None, frequency='daily', fields=None, skip_paused=False, fq='pre', count=None)

返回值支持SecurityUnitData里面的所有基本屬性,,包含:['open', 'close', 'low', 'high', 'volume', 'money', 'factor', 'high_limit','low_limit', 'avg', 'pre_close', 'paused'],其中paused為1表示停牌。

API中對於data對象的說明見API中的SecurityUnitData:
SecurityUnitData data對象

不知道大家有什麼更好的辦法?

分享到:
舉報財經168客戶端下載

全部回複

0/140

投稿 您想發表你的觀點和看法?

更多人氣分析師

  • 張亦巧

    人氣2208文章4145粉絲45

    暫無個人簡介信息

  • 張迎妤

    人氣1904文章3305粉絲34

    個人專注於行情技術分析,消息面解讀剖析,給予您第一時間方向...

  • 指導老師

    人氣1864文章4423粉絲52

    暫無個人簡介信息

  • 李冉晴

    人氣2320文章3821粉絲34

    李冉晴,專業現貸實盤分析師。

  • 梁孟梵

    人氣2184文章3177粉絲39

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

  • 王啟蒙現貨黃金

    人氣312文章3415粉絲8

    本人做分析師以來,並專注於貴金屬投資市場,尤其是在現貨黃金...

  • 金泰鉻J

    人氣2328文章3925粉絲51

    投資問答解咨詢金泰鉻V/信tgtg67即可獲取每日的實時資訊、行情...

  • 金算盤

    人氣2696文章7761粉絲125

    高級分析師,混過名校,廝殺於股市和期貨、證券市場多年,專注...

  • 金帝財神

    人氣4760文章8329粉絲119

    本文由資深分析師金帝財神微信:934295330,指導黃金,白銀,...

FX168財經

FX168財經學院

FX168財經

FX168北美