taipaz 發表於 10-11-20 18:08

期交所的 rpt 檔, 轉換為 MultiCharts 可用的 csv 檔

本帖最後由 taipaz 於 10-11-20 06:09 PM 編輯

期交所的 rpt 檔提供的資料一共有八個欄位

交易日期,商品代號,交割年月,成交時間,成交價格,成交數量(B+S),近月價格,遠月價格

而我需要將 當天 TX, MTX, TF, TE 及 TX交割期為次月的五項成交資料, 匯入 MultiCharts 的資料庫,
Multicharts 是可採用 csv 檔匯入資料, 不過只需要

交易日期,成交時間,成交價格,成交數量,   四個欄位.
另外則是, rpt 檔中的成交時間尾數的兩個 00 需要去除.
還有, 有時候有些商品會伴隨著有近遠月合約轉換的交易產生. 資料欄位需修改, 但順序不可變動.

我只會用 php 寫一些網頁要用的互動程式, 讀寫檔與修改資料內容的基礎程式反而沒曾學過.
於是, 只好拿 Excel 這種工具, 用最笨的方法: (以 TX 當月期為例)
1. 先用 Excle 讀取整個 rpt 檔, 將不屬於 TX 當月期的資列位去除
2. 在第九欄 依資料列數 預建一欄數列
3. 以近月價格(G)或交割年月(C)欄為排序基準, 整理出所有近遠月轉換交易的資料列,
    將這幾筆資料的交割年月修改為與其他列相同, 並將這幾筆個別的近月價格複製到成交價格欄
4. 依預建於第九欄的數列為排序基準, 重新排序, 恢復原來的順序
5. 修改成交時間, 去掉尾數兩個 00
6. 去除不需要的五個欄位
7. 存成 csv 檔 ....

重覆進行上述的動作 (當然, 有些商品當天不一定有合約轉換的交易, 就可省略一些程序)
然後, 分別存成以下幾個 csv 檔 (檔名中的交割日期與交易日期依實際進行之當日調整)
   TX_201012_20101119,
   MTX_201012_20101119,
   TF_201012_20101119,
   TE_201012_20101119,
   TX_201101_20101119,

這樣的動作, 每天都要花個大約10來分鐘. 其實, 醬的事讓會寫程式的人來做, 就把我這麼做看成笑話了 ......

不知有沒那位仁人君子能指導協助, 能用來每天處理這事的程式

Acer2266 發表於 10-11-20 22:54

回復 1# taipaz


    很好奇您買了 MC 代理商已經提供了一年的資訊傳輸為何您還需要這樣的動作,是要比對資料的正確性嗎?我個人採用購買資訊源的方式,交易的重點在"交易"其餘的東西能簡單化就簡單點吧。

taipaz 發表於 10-11-20 23:37

本帖最後由 taipaz 於 10-11-20 11:45 PM 編輯

謝謝, 我並沒向代理商買這軟體. 因為我的軟體是原本在國外就買的. :-)

再則實際運行時, 的確偶而會漏接幾筆資料. 或某些因素, 譬如偶而停電或甚麼的.
資料不完整時, 就會要重接期交所的 data 來補齊 .....
因此, 這樣一個動作原本就做了一段時間. 也習慣了 ~~~~

hhy 發表於 10-11-21 05:48

據我所知
在一般的報價李
價差交易都會直接移除
當作沒有這筆來處理

taipaz 發表於 10-11-21 17:01

本帖最後由 taipaz 於 10-11-21 05:08 PM 編輯

回復 4# hhy


    是醬啊? 這我沒粉懂 ....請多多指教

hhy 發表於 10-11-21 22:40

回復 5# taipaz
剛剛看了yahoo, pchome, hinet, 鉅亨, 聚財
發現只有pchome的有包含價差
可能資訊商不一樣

請問你的mc是用哪個版本

tpkpm 發表於 10-11-21 23:59

你要的東西好像很累稿

taipaz 發表於 10-11-22 01:27

回復 6# hhy


    MC 程式是只要買一次, 之後都更終生更新啊. 因此我目前用的是最新的 6.1版

taipaz 發表於 10-11-22 01:29

回復 7# tpkpm


    理論上應該不會很難搞. 可不會寫程式的人就是完全不會也搞不出來. 哈 ~~

taipaz 發表於 10-11-23 16:28

不知怎的, 我一直以為只能用 C 來寫這樣的程式 ....

直到昨晚發狠的開始網路上找解決方案. 才發現這一個叫做 Python 的程式.
馬上給他安裝起來, 試寫了一小段 .....
哈, 我要的東西大致就垂手可得了...

怎麼有這麼口愛的高階語言,怎不早點出現, 害得
我這個被古時候的 Fortran, Basic, 嚇壞的了...
講了 20多年一直沒真能用 C 寫出一個程式的人.
總算找得有這麼一個工具可用來做點想做的小程式了
頁: [1]
查看完整版本: 期交所的 rpt 檔, 轉換為 MultiCharts 可用的 csv 檔