量化交易入門筆記-策略設(shè)置函數(shù)

在股票量化策略的初始化函數(shù)中缎罢,要進(jìn)行一些初始化的設(shè)置伊群,例如:設(shè)置參考基準(zhǔn)考杉、設(shè)置交易費(fèi)用、設(shè)置成交比例等舰始,JoinQuant平臺(tái)提供了一些寫好的方法崇棠,可以幫助我們直接使用,并且提供相關(guān)API文檔

設(shè)置基準(zhǔn)函數(shù)set_benchmark(security)

set_benchamark函數(shù)接受一個(gè)標(biāo)的參數(shù)蔽午,security可以是股票代碼易茬、指數(shù)代碼或者ETF代碼酬蹋,默認(rèn)情況下是以滬深300為基準(zhǔn)的及老;沒有返回值

該函數(shù)只能在initialize函數(shù)中使用

所謂設(shè)置基準(zhǔn),即設(shè)置一個(gè)參考線范抓,比如:如果以滬深300為基準(zhǔn)骄恶,則可以滬深300的價(jià)格線作為是否跑贏市場的參考

示例:

# 設(shè)定招商銀行股票為基準(zhǔn)
set_benchmark('60036.XSHG')

# 設(shè)定深證指數(shù)為基準(zhǔn)
set_benchmark('399001.XSHG')

# 設(shè)定50ETF基金指數(shù)為基準(zhǔn)
set_benchmark('510050.XSHG')

設(shè)置傭金/印花稅函數(shù)set_order_cost(cost, type, ref=None)

指定每筆交易要收取的手續(xù)費(fèi), 系統(tǒng)會(huì)根據(jù)用戶指定的費(fèi)率計(jì)算每筆交易的手續(xù)費(fèi)

先看一個(gè)使用示例:

# 股票類每筆交易時(shí)的手續(xù)費(fèi)是:買入時(shí)傭金萬分之三,賣出時(shí)傭金萬分之三加千分之一印花稅, 每筆交易傭金最低扣5塊錢
set_order_cost(OrderCost(open_tax=0, close_tax=0.001, open_commission=0.0003, close_commission=0.0003, close_today_commission=0, min_commission=5), type='stock')

參數(shù)解析

cost是OrderCost對象

  • open_tax匕垫,買入時(shí)印花稅 (只股票類標(biāo)的收取僧鲁,基金與期貨不收)
  • close_tax,賣出時(shí)印花稅 (只股票類標(biāo)的收取象泵,基金與期貨不收)
  • open_commission寞秃,買入時(shí)傭金
  • close_commission, 賣出時(shí)傭金
  • close_today_commission, 平今倉傭金
  • min_commission, 最低傭金,不包含印花稅

type是參考代碼

對應(yīng)的實(shí)參:stock 股票偶惠、fund 基金春寿、index_futures 金融期貨、futures 期貨忽孽、bond_fund 債券基金绑改、stock_fund 股票基金、QDII_fund QDII基金兄一、money_market_fund 貨幣基金厘线、mixture_fund 混合基金

ref

參考代碼,支持股票代碼/基金代碼/期貨合約代碼出革,以及期貨的品種造壮,如 ‘000001.XSHE’/’511188’/’IF1709’/’IF’

示例:

股票類每筆交易時(shí)的手續(xù)費(fèi)是:買入時(shí)傭金萬分之三,賣出時(shí)傭金萬之三加千分之一的印花稅骂束,每筆交易傭金最低扣5元錢

set_order_cost(OrderCost(open_tax=0, close_tax=0.001, open_commission=0.0003, colse_commission=0.0003, close_today_commission=0, min_commission=5), type='stock')

期貨類每筆交易時(shí)的手續(xù)費(fèi)是:買入時(shí)傭金萬分之0.23费薄,賣出時(shí)傭金萬分之0.23,平今倉為萬分之23

set_order_cost(OrderCost(open_tax=0, close_tax=0, open_commission=0.000023, close_commission=0.000023, close_today_commission=0.0023, min_commission=0), type='index_futures')

單獨(dú)設(shè)置某標(biāo)的的費(fèi)用栖雾,這里設(shè)置000300.XSHG的費(fèi)用

set_order_cost(OrderCost(open_tax=0, close_tax=0.001, open_commission=0.0003, close_commission=0.0003, close_today_commission=0, min_commission=5), type='stock', ref='000300.XSHG')

設(shè)置所有期貨(包括金融指數(shù)期貨)的費(fèi)用

set_order_cost(OrderCost(open_tax=0, close_tax=0.001, open_commission=0.0003, close_commission=0.0003, close_today_commission=0, min_commission=5), type='futures')

股指期貨的IF楞抡、IH、IC三個(gè)品種有效的設(shè)置

set_order_cost(OrderCost(open_tax=0, close_tax=0.001, open_commission=0.0003, close_commission=0.0003, close_today_commission=0, min_commission=0), type='index_futures')

單獨(dú)設(shè)置黃金期貨(AU)品種的費(fèi)用

set_order_cost(OrderCost(open_tax=0, close_tax=0.001, open_commission=0.0003, close_commission=0.0003, close_today_commission=0, min_commission=5), type='futures', ref='AU')

單獨(dú)設(shè)置黃金期貨AU1709合約的費(fèi)用

set_order_cost(OrderCost(open_tax=0, close_tax=0.001, open_commission=0.0003, close_commission=0.0003, close_today_commission=0, min_commission=5), type='futures', ref='AU1709')

設(shè)置滑點(diǎn)函數(shù)set_slippage(object)

在回測或模擬時(shí)析藕,投資者下單后召廷,真實(shí)的成交價(jià)格與下單時(shí)預(yù)期的價(jià)格總會(huì)有一定偏差,因此在這里加入了滑點(diǎn)模式,可以更好的模擬真實(shí)的市場表現(xiàn)

需要注意的是竞慢,JoinQuant平臺(tái)目前只支持固定滑點(diǎn)設(shè)置

因此先紫,滑點(diǎn)只在回測與模擬時(shí)才有效,實(shí)盤時(shí)無效

當(dāng)使用固定滑點(diǎn)時(shí)筹煮,下單的多少并不會(huì)影響最后的成交價(jià)格遮精,只需要指定一個(gè)價(jià)差。當(dāng)下達(dá)一個(gè)買單指令時(shí)败潦,成交的價(jià)格等于當(dāng)時(shí)(執(zhí)行 order 函數(shù)所在的單位時(shí)間)的平均價(jià)格加上價(jià)差的一半本冲;當(dāng)下達(dá)一個(gè)賣出指令時(shí),賣出的價(jià)格等于當(dāng)時(shí)的平均價(jià)格減去價(jià)差的一半

價(jià)差可以設(shè)定為一個(gè)固定值或者按照百分比設(shè)定

  • 固定值:是指這個(gè)價(jià)差可以是一個(gè)固定值(比如0.02元劫扒,交易時(shí)加減0.01元)檬洞,設(shè)定方式為:FixedSlippage(0.02)

  • 百分比:是指這個(gè)價(jià)差可以是當(dāng)時(shí)價(jià)格的一個(gè)百分比(比如0.2%,交易時(shí)加減當(dāng)時(shí)價(jià)格的0.1%)沟饥,設(shè)定方式為:PriceRelatedSlippage(0.002)

示例代碼:

設(shè)定滑點(diǎn)為固定值

set_slippage(FixedSlippage(0.02))

設(shè)定滑點(diǎn)為百分比

set_slippage(PriceRelatedSlippage(0.02))

如果在初始化函數(shù)中沒有調(diào)用set_silppage()函數(shù)添怔,系統(tǒng)默認(rèn)會(huì)設(shè)置滑點(diǎn)為PriceRelatedSlippage(0.00246),即按0.246%計(jì)算

設(shè)置動(dòng)態(tài)復(fù)權(quán)(真實(shí)價(jià)格)模式函數(shù)set_option('use_real_price', value)

該設(shè)定必須在initialize中調(diào)用

參數(shù)use_real_price是個(gè)實(shí)參贤旷,value的值可以選擇TrueFalse广料,前者表示開啟動(dòng)態(tài)復(fù)權(quán),后者表示不開啟

示例代碼:

開啟動(dòng)態(tài)復(fù)權(quán)

set_option('use_real_price', True)

關(guān)閉動(dòng)態(tài)復(fù)權(quán)

set_option('use_real_price', False)

在實(shí)盤的時(shí)候幼驶,此設(shè)置會(huì)強(qiáng)行設(shè)置成True

設(shè)置成交比例set_option('order_volume_ratio', value)

參數(shù)order_volume_ratio是個(gè)實(shí)參艾杏,value是float類型,可根據(jù)實(shí)際行情限制每筆訂單的成交量县遣;對于每一筆訂單糜颠,如果是市價(jià)單,成交量不超過:每日成交量 * value萧求;如果是限價(jià)單其兴,限價(jià)單撮合時(shí)設(shè)定分價(jià)表中每一個(gè)價(jià)格的成交量的比率

示例:

設(shè)置成交量比例函數(shù)的實(shí)例代碼

set_option('order_volume_ratio', 0.25)  # 即設(shè)定成交量不超過總成交量的四分之一

設(shè)置是否開啟盤口撮合模式函數(shù)set_option('match_with_order_book', value)

參數(shù)match_with_order_book是個(gè)實(shí)參,value為布爾值類型

設(shè)置是否開啟盤口撮合模式只對模擬盤生效夸政,默認(rèn)是開啟的元旬;如果關(guān)閉盤口撮合模式,使用Bar進(jìn)行撮合

示例:

盤口撮合模式

set_option('match_with_order_book', True)

盤口使用Bar進(jìn)行撮合

set_option('match_with_order_book', False)

設(shè)置要操作的股票池函數(shù)set_universe(security_list)

該函數(shù)只用于設(shè)定history函數(shù)的默認(rèn)security_list守问,除此之外并無其他用處

security_list是股票列表

示例:

set_universe(['000001.XSHG', '600000.XSHG'])

就目前來說匀归,有些概念還是不清楚的,比如盤口撮合概念耗帕、history函數(shù)等穆端,不過這些都是后面需要學(xué)習(xí)的,知識(shí)嘛仿便,需要理解体啰、相關(guān)聯(lián)攒巍,并不能分割而談,本章節(jié)的主要目標(biāo)是記住這些個(gè)常用的策略設(shè)置函數(shù)荒勇,在寫策略的時(shí)候柒莉,靈活使用

注:本文章為個(gè)人學(xué)習(xí)筆記,參考了一些書籍與官方教程沽翔,不作任何商業(yè)用途兢孝!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市仅偎,隨后出現(xiàn)的幾起案子跨蟹,更是在濱河造成了極大的恐慌,老刑警劉巖哨颂,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件喷市,死亡現(xiàn)場離奇詭異相种,居然都是意外死亡威恼,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進(jìn)店門寝并,熙熙樓的掌柜王于貴愁眉苦臉地迎上來箫措,“玉大人,你說我怎么就攤上這事衬潦〗锫” “怎么了?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵镀岛,是天一觀的道長弦牡。 經(jīng)常有香客問我,道長漂羊,這世上最難降的妖魔是什么驾锰? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮走越,結(jié)果婚禮上椭豫,老公的妹妹穿的比我還像新娘。我一直安慰自己旨指,他們只是感情好赏酥,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著谆构,像睡著了一般裸扶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上搬素,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天呵晨,我揣著相機(jī)與錄音瞬项,去河邊找鬼。 笑死何荚,一個(gè)胖子當(dāng)著我的面吹牛囱淋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播餐塘,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼妥衣,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了戒傻?” 一聲冷哼從身側(cè)響起税手,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎需纳,沒想到半個(gè)月后芦倒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡不翩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年兵扬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片口蝠。...
    茶點(diǎn)故事閱讀 40,144評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡器钟,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出妙蔗,到底是詐尸還是另有隱情傲霸,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布眉反,位于F島的核電站昙啄,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏寸五。R本人自食惡果不足惜梳凛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望播歼。 院中可真熱鬧伶跷,春花似錦、人聲如沸秘狞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽烁试。三九已至雇初,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間减响,已是汗流浹背靖诗。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工郭怪, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人刊橘。 一個(gè)月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓鄙才,卻偏偏與公主長得像,于是被迫代替她去往敵國和親促绵。 傳聞我的和親對象是個(gè)殘疾皇子攒庵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 來源:實(shí)戰(zhàn)財(cái)經(jīng) 轉(zhuǎn)自 優(yōu)維金融空間 導(dǎo)讀:包含銀行系金融知識(shí)和基金證券類知識(shí)大全。 目錄 第一部分:銀行系金融知識(shí)...
    1e662a7de34a閱讀 9,924評論 0 9
  • 人生在世败晴,總有那么多痛苦折磨要面對浓冒,因?yàn)槿耸怯懈星榈模坏┯懈星榫妥⒍〞?huì)受傷尖坤。我們的愛情稳懒,親情,友情慢味,不想面對场梆,卻...
    muchanel閱讀 242評論 0 0