期交所的 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來分鐘. 其實, 醬的事讓會寫程式的人來做, 就把我這麼做看成笑話了 ......
不知有沒那位仁人君子能指導協助, 能用來每天處理這事的程式 回復 1# taipaz
很好奇您買了 MC 代理商已經提供了一年的資訊傳輸為何您還需要這樣的動作,是要比對資料的正確性嗎?我個人採用購買資訊源的方式,交易的重點在"交易"其餘的東西能簡單化就簡單點吧。 本帖最後由 taipaz 於 10-11-20 11:45 PM 編輯
謝謝, 我並沒向代理商買這軟體. 因為我的軟體是原本在國外就買的. :-)
再則實際運行時, 的確偶而會漏接幾筆資料. 或某些因素, 譬如偶而停電或甚麼的.
資料不完整時, 就會要重接期交所的 data 來補齊 .....
因此, 這樣一個動作原本就做了一段時間. 也習慣了 ~~~~ 據我所知
在一般的報價李
價差交易都會直接移除
當作沒有這筆來處理 本帖最後由 taipaz 於 10-11-21 05:08 PM 編輯
回復 4# hhy
是醬啊? 這我沒粉懂 ....請多多指教 回復 5# taipaz
剛剛看了yahoo, pchome, hinet, 鉅亨, 聚財
發現只有pchome的有包含價差
可能資訊商不一樣
請問你的mc是用哪個版本 你要的東西好像很累稿 回復 6# hhy
MC 程式是只要買一次, 之後都更終生更新啊. 因此我目前用的是最新的 6.1版 回復 7# tpkpm
理論上應該不會很難搞. 可不會寫程式的人就是完全不會也搞不出來. 哈 ~~ 不知怎的, 我一直以為只能用 C 來寫這樣的程式 ....
直到昨晚發狠的開始網路上找解決方案. 才發現這一個叫做 Python 的程式.
馬上給他安裝起來, 試寫了一小段 .....
哈, 我要的東西大致就垂手可得了...
怎麼有這麼口愛的高階語言,怎不早點出現, 害得
我這個被古時候的 Fortran, Basic, 嚇壞的了...
講了 20多年一直沒真能用 C 寫出一個程式的人.
總算找得有這麼一個工具可用來做點想做的小程式了
頁:
[1]