官术网_书友最值得收藏!

4.2 案例:設置Buy買入價格

下面看看具體的案例,案例文件名是:btr_e004buy.py。

程序主體部分的代碼和前面的案例是完全一樣的。第一組和第二組源碼都是設置數據及策略參數:

adddata類函數,作用是添加量化交易數據,設置數據源參數:

addstrategy類函數,作用是添加量化策略,設置策略參數:

第三組代碼運行量化程序;第四組代碼輸出回測數據,繪制相關圖表,如下:

運行案例程序,主要輸出信息如下:

在以前的案例程序中,因為是空策略,所以沒有買賣交易,程序的起始資金和資產總值都是10萬元。

但在本節案例中,從輸出信息來看,有稍許虧損:

資產總值 Final Portfolio Value:99923.51

本案例回測的時間周期是:2018年1月~2018年12月。

2018年,國內A股大盤形式不好,但本案例的虧損額很少,說明這個策略在2018年的行情中還是比較優秀的策略。

如圖4-2所示是程序生成的買入策略分析圖。

圖4-2 買入策略分析圖

圖4-2最上方的藍色曲線是資產總額,包括股票和持有現金的總額。資產總額曲線,可以反映用戶買賣的盈虧情況。

大家注意藍色資產總額曲線的走勢變化:起點是10萬元,這是開始時的現金持有量。隨著股票的買入增多,現金持有量越來越少。但當前案例不是正式交易,只是單邊買入股票,沒有賣出。

案例中出現的虧損數額很少,還有一個原因是量化軟件默認只買入一手股票。而每只股票價格才6元多,每次交易就只是買賣一手,即使虧損也不會虧損太多。

圖4-2中價格曲線附近的三角符號就是股票的實際交易買賣點。

我們在實際測試時發現,這些買賣點存在一些時間誤差,前后誤差大約是兩天時間。

筆者分析,造成誤差的原因有兩個:

(1)時差和時區。例如,zipline量化軟件要求要把導入數據轉換為UTC世界統一時間。

(2)交易日歷模塊庫。目前還沒有統一的交易時間標準,因為各國風俗不同,所以各國的節假日也有所不同。

這些誤差,對于量化程序的實際分析結果影響不大,圖中的買賣點圖標也只是提示參考圖標。

主站蜘蛛池模板: 奇台县| 门头沟区| 新乡县| 获嘉县| 包头市| 宽城| 清原| 将乐县| 获嘉县| 郁南县| 康马县| 伊春市| 犍为县| 宣威市| 湖南省| 鱼台县| 吴川市| 商河县| 克什克腾旗| 十堰市| 永善县| 嘉兴市| 南漳县| 岳西县| 朝阳区| 翁牛特旗| 汕头市| 和平区| 鹰潭市| 民乐县| 南丹县| 朝阳县| 武定县| 喀喇沁旗| 洞头县| 临安市| 福安市| 莆田市| 保康县| 建阳市| 濮阳县|