theme: smartblue 最近在做交易數(shù)據(jù)的統(tǒng)計分析時,多次用到數(shù)據(jù)行之間的一些操作,對于其中的細(xì)節(jié),簡單做了個筆記。 1. shfit函數(shù) shift函數(shù)在策略回測代碼中經(jīng)常出現(xiàn),計算交易信號,持倉信號以及資金曲線時都有涉及。這個函數(shù)的主要作用是將某列的值上下移動。默認(rèn)情況下,shift函
最近在做交易數(shù)據(jù)的統(tǒng)計分析時,多次用到數(shù)據(jù)行之間的一些操作,對于其中的細(xì)節(jié),簡單做了個筆記。
在策略回測代碼中,
shift
函數(shù)經(jīng)常出現(xiàn),用于計算交易信號、持倉信號以及資金曲線。這個函數(shù)的主要作用是將某列的值上下移動。默認(rèn)情況下,
shift
函數(shù)是向下移動一行,移動后,新數(shù)據(jù)列的第一行數(shù)據(jù)用
NaN
(空值)填充,原始數(shù)據(jù)列的最后一行丟棄。
也可以在
shift
函數(shù)中指定移動的行數(shù)。指定的行數(shù)為負(fù)值時,表示向上移動,此時,下面的部分用
NaN
填充。在使用
shift
之后,一般會在首部/尾部產(chǎn)生
NaN
空值,根據(jù)情況看是否需要進(jìn)一步處理。
在交易數(shù)據(jù)分析中,
shift
函數(shù)常用于計算交易信號和持倉信號。
shift
函數(shù)還是比較好理解的。為了簡化,創(chuàng)建兩個測試數(shù)據(jù)。把一個數(shù)據(jù)集的某一列賦值給另一個數(shù)據(jù)集時,
pandas
會自動比較兩個數(shù)據(jù)的索引,只賦值具有相同索引的行。
不同行數(shù)的兩個數(shù)據(jù)集互相賦值時,是根據(jù)兩個數(shù)據(jù)的索引來匹配賦值的。這時,再回頭看計算交易信號的代碼,雖然經(jīng)過過濾之后,行數(shù)比數(shù)據(jù)集要少,但是過濾之后的每行數(shù)據(jù)會根據(jù)對應(yīng)的索引準(zhǔn)確的賦給數(shù)據(jù)集中相同索引的行。
在分析交易信息,特別是統(tǒng)計收益和收益率的變化時,上面幾個函數(shù)能幫助我們極大簡化代碼,避免寫各種復(fù)雜的循環(huán)。
小編推薦閱讀
機(jī)器學(xué)習(xí):神經(jīng)網(wǎng)絡(luò)構(gòu)建(下)
閱讀華為Mate品牌盛典:HarmonyOS NEXT加持下游戲性能得到充分釋放
閱讀實現(xiàn)對象集合與DataTable的相互轉(zhuǎn)換
閱讀算法與數(shù)據(jù)結(jié)構(gòu) 1 - 模擬
閱讀5. Spring Cloud OpenFeign 聲明式 WebService 客戶端的超詳細(xì)使用
閱讀Java代理模式:靜態(tài)代理和動態(tài)代理的對比分析
閱讀Win11筆記本“自動管理應(yīng)用的顏色”顯示規(guī)則
閱讀本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請發(fā)郵件[email protected]
湘ICP備2022002427號-10 湘公網(wǎng)安備:43070202000427號© 2013~2025 haote.com 好特網(wǎng)