Julia實現(xiàn)任意時間周期轉(zhuǎn)換,比如Tick轉(zhuǎn)5分鐘周期

在量化時, CTP是期貨交易量化的開發(fā)平臺, 但其提供的行情時tick級別的, 常需要進行轉(zhuǎn)換.

而通過Julia實現(xiàn)時, 會很方便將tick序列轉(zhuǎn)為任意周期(包括分鐘,小時等)的Bar序列.

本方法的特點:

  • 目標序列周期任意
  • 源序列周期可任意, 但理應(yīng)比目標周期小
  • 不需進行大量的臨時序列和內(nèi)存拷貝

本方法使用到一個Package: TimeFrames.

源數(shù)據(jù)序列應(yīng)該是Array{T,1}類型, 其中的T可以是Float64,Int或其他數(shù)值類型. 假設(shè)源數(shù)據(jù)為如下的四項基本的浮點序列:

  src_length = 100
  # TODO: 該處為預先準備的src_length長度時間序列, 這里不提供有效數(shù)據(jù)
  src_time = Array{DateTime,1}()  
  src_open = rand(src_length)
  src_high = rand(src_length)
  src_low = rand(src_length)
  src_close = rand(src_length)

事實上, 這些可以是 DataFrames結(jié)構(gòu)或者是TimeSeries結(jié)構(gòu)的某列.

轉(zhuǎn)換前, 先聲明一個想轉(zhuǎn)成的時間周期:

  using TimeFrames
  to_tf = Minute(5)   # 要源序列轉(zhuǎn)成5分鐘級別的
 # 或
 # to_tf = TimeFrame("5T")

再定義一個臨時變量, 跟蹤源數(shù)據(jù)窗口:

  cursor = [1 1]

好了, 可以開始轉(zhuǎn)換了.

這里提供 批量 方式, 如果實時增量轉(zhuǎn)換, 需稍微改動一下.

# 從頭遍歷源序列
for i = 1:src_length
  # 折算當前時間所屬的目標周期的時間點
  dtf = apply(to_tf, src_time[i])  
  cursor[2] = i
  if dtf == src_time[i]  # 正好處于新周期的時間點
    bartime = Base.last(view(src_time, cursor[1]: cursor[2]))
    # 或
    # bartime = src_time[i]
    baropen = first(view(src_open, cursor[1]: cursor[2]))
    # 或
    # baropen = src_open[cursor[1]]
     barhigh = reduce(max, view(src_high, cursor[1]: cursor[2]) )
     barlow  = reduce(min, view(src_low, cursor[1]: cursor[2]) )
     barclose = Base.last(view(src_close cursor[1]: cursor[2]))
    # 或
    # barclose = src_open[cursor[2]]

    @show (bartime, baropen, barhigh, barlow, barclose)

    cursor[1] = cursor[2]+1
  end
end
  • 說明
    • 采用內(nèi)嵌的view方法, 是建立了在源序列數(shù)據(jù)上的索引引用, 不用拷貝成臨時數(shù)據(jù)再進行max,min等操作.
    • 有些細節(jié), 比如恰好的時間點屬于前一個bar的結(jié)束, 還是新bar的開始, 需要自行確定
    • 在行情剛剛開始時, 通常是整點, 會滿足上述的新周期時間點的判定, 需要自行處理.
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末豌汇,一起剝皮案震驚了整個濱河市泄隔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌佛嬉,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件斜做,死亡現(xiàn)場離奇詭異湾揽,居然都是意外死亡,警方通過查閱死者的電腦和手機霸旗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進店門戚揭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蔬啡,你說我怎么就攤上這事镀虐∠潴。” “怎么了刮便?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵恨旱,是天一觀的道長。 經(jīng)常有香客問我搜贤,道長,這世上最難降的妖魔是什么唁影? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任掂名,我火速辦了婚禮,結(jié)果婚禮上饺蔑,老公的妹妹穿的比我還像新娘。我一直安慰自己孔祸,他們只是感情好肿嘲,可當我...
    茶點故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著尊浪,像睡著了一般封救。 火紅的嫁衣襯著肌膚如雪誉结。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天掉盅,我揣著相機與錄音,去河邊找鬼趾痘。 笑死,一個胖子當著我的面吹牛卵贱,可吹牛的內(nèi)容都是我干的侣集。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼编振,長吁一口氣:“原來是場噩夢啊……” “哼罚攀!你這毒婦竟也來了党觅?” 一聲冷哼從身側(cè)響起斋泄,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤炫掐,失蹤者是張志新(化名)和其女友劉穎魁莉,沒想到半個月后募胃,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡检疫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年屎媳,在試婚紗的時候發(fā)現(xiàn)自己被綠了论巍。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片烛谊。...
    茶點故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡丹禀,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出双泪,到底是詐尸還是另有隱情,我是刑警寧澤焙矛,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布薄扁,位于F島的核電站废累,受9級特大地震影響邓梅,放射性物質(zhì)發(fā)生泄漏邑滨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一匣距、第九天 我趴在偏房一處隱蔽的房頂上張望哎壳。 院中可真熱鬧,春花似錦归榕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至姆蘸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間乞旦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工故痊, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留玖姑,地道東北人慨菱。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓戴甩,卻偏偏與公主長得像,于是被迫代替她去往敵國和親甜孤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,601評論 2 353

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

  • feisky云計算茉稠、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 3,844評論 0 5
  • 什么是愛情膀篮,在昨天之前我好像很懂岂膳,可是之后又變得很茫然…… 先講個故事吧,我是南方人闷营,我的外婆是陜西人,在我6歲去...
    行云非夢閱讀 288評論 0 0
  • 夕陽西下時速蕊,飛機準點起飛娘赴,極速爬升后,翱翔于萬米高空诽表。 憑窗遠眺,一條火紅的緞帶飄浮在天際竿奏,越...
    絲美天下閱讀 431評論 0 1
  • 不要總只看到牡丹,玫瑰吕粹,百合……^_^偶爾路邊的一朵小花,也有屬于它自己的美麗[愉快] ...
    轉(zhuǎn)個角拐個彎閱讀 505評論 4 17
  • 前幾天翻資治通鑒聚请,說武則天當政期間,有那么一陣兒禁止殺生驶赏。 而老臣張德,家里剛生個大胖小子母市,一群人大眼睛盯著他看损趋,...
    重慶理工大學閱讀 254評論 0 0