COCO研究院

 找回密碼
 註冊
搜索
查看: 10198|回復: 50

股票方面放棄用MC,改用AMIBROKER了

[複製鏈接]
發表於 13-8-28 16:47 | 顯示全部樓層 |閱讀模式
本帖最後由 電腦人 於 13-8-28 16:55 編輯

股票方面收集資料完了,但發現Multicharts真的是有夠麻煩
在匯入資料方面,不但很難自動化,而且更新資料也是一樣

光上市股票每天就要開QuoteManager來"手動"匯入資料874檔

而且找過沒有命令列可以自動匯入資料,想到就一整個煩

後來決定分開

期貨方面就交給multicharts
股票方面就交給amibroker

已經向mc原廠建議是否有命令列指令可以自動匯入資料,否則每一次都用手選更新,真的很累

另外又遇到一個很好笑的問題
輸入同樣的參數,下載股票日線資料後,居然有兩種格式

第一種
直接是"各日成交資訊(元,股)"
日期,成交股數,成交金額,開盤價,最高價,最低價,收盤價,漲跌價差,成交筆數
"的格式

第二種
先列出"288;本資訊自民國年月日起開始提供"
再列出"各日成交資訊(元,股)"
日期,成交股數,成交金額,開盤價,最高價,最低價,收盤價,漲跌價差,成交筆數
"的格式


第三種
當月份該日期沒有該股票交易資料時,傳回下列格式
"le>"

真的很搞笑,看來又要用程式去過濾掉這種雜訊了

這三種情況全部搞定後,就開始準備匯入AMIBROKER了

評分

參與人數 3金錢 +6 收起 理由
multichartspro + 2 好文章,我推薦
vedel + 2 感謝分享
yycalpis + 2 感謝分享

查看全部評分

發表於 13-8-28 21:39 | 顯示全部樓層
歡迎歡迎,多一個同好研究,互相分享
 樓主| 發表於 13-8-29 00:16 | 顯示全部樓層
本帖最後由 電腦人 於 13-8-29 00:18 編輯

上市的剛完成

現在換櫃買的資料

櫃買的比較麻煩,需要用HTTP POST的方式來抓檔,而非用HTTP GET的方式

明天再來解決
我都滿喜歡自己動手做,比較安心,而且知道問題再哪

評分

參與人數 1金錢 +2 收起 理由
獵手 + 2 太強了

查看全部評分

 樓主| 發表於 13-8-29 06:55 | 顯示全部樓層
本帖最後由 電腦人 於 13-8-29 06:57 編輯

現在又發現另一個問題,在OTC的下載網頁中

(1)HTML網頁
http://www.otc.org.tw/ch/stock/aftertrading/daily_trading_info/result_st43.php

(2)CSV下載網頁
http://www.otc.org.tw/ch/stock/aftertrading/daily_trading_info/download_st43.php

只有(1)的方式,加上POST後的參數才有效

但是使用(2)的方式,無論是不是POST,都不會直接回傳CSV

有人有解嗎?

因為(1)傳回的方式為HTML網頁,後面處理還是很麻煩
發表於 13-8-29 08:10 | 顯示全部樓層
我有寫一個喔,給你參考
http://www.coco-in.net/thread-26790-1-1.html

評分

參與人數 1金錢 +2 收起 理由
電腦人 + 2 感謝分享

查看全部評分

發表於 13-8-29 08:19 | 顯示全部樓層
發表於 13-8-29 12:59 | 顯示全部樓層
電腦人 發表於 13-8-29 06:55
現在又發現另一個問題,在OTC的下載網頁中

(1)HTML網頁

使用(2)的方式和 POST Method,就可以抓回CSV。用Python 2.7,只要一行。

gretai.zip (1.09 KB, 下載次數: 289)


demo.png

評分

參與人數 1金錢 +2 收起 理由
電腦人 + 2 感謝分享

查看全部評分

 樓主| 發表於 13-8-30 02:45 | 顯示全部樓層
本帖最後由 電腦人 於 13-8-30 02:46 編輯
pythonist 發表於 13-8-29 12:59
使用(2)的方式和 POST Method,就可以抓回CSV。用Python 2.7,只要一行。

謝謝,我想我找到問題了

是我自己搞錯了,用POST是沒問題的

原來是參數下錯了

不過用PYTHON程式碼真的是很簡潔
 樓主| 發表於 13-9-1 13:24 | 顯示全部樓層
本帖最後由 電腦人 於 13-9-1 13:29 編輯

還有證交所(櫃買中心)會回傳空字串的問題解決了

建議解如下:

下載資料時,請間隔至少0.5~1秒再下載下一個檔

千萬不要一個迴圈就直接下載了

我觀察的結果是同一個時間有過多SESSION下載

導致自己的電腦無法負荷,導致SOCKET TIMEOUT
另外下載下來的檔案,要另外做一個錯誤檢查及下載LOG

我是多做了這兩個後,從LOG中才找到問題

基本上只要下載間隔在0.5秒以下,很容易漏檔,下載的東西都是空的

評分

參與人數 1金錢 +2 收起 理由
Acer2266 + 2 太強了

查看全部評分

 樓主| 發表於 13-9-1 19:30 | 顯示全部樓層
剛確實比對過許多次

證交所的程式會隨機亂回應 "288;本資訊自民國年月日起開始提供" 的格式

只要在程式中濾掉這一行就行了,其他資料都一樣

櫃買中心倒不會這樣做
 樓主| 發表於 13-9-3 06:40 | 顯示全部樓層
本帖最後由 電腦人 於 13-9-3 07:16 編輯

現在是格式解析的時候

(1)證交所
裡面取得的資料,發現裡面是用逗號來分隔的

但如果數值超過一千,每三位數同樣也用逗號,該欄位資料另用" "夾起來

漲跌用  +  -   X  來表示

所以我的做法是

01.去掉 +    X 等符號  (只有負號需保留下來)
02."      "取消
03."      "裡面的逗點取消 (會跟分隔符號混淆)
04.日期轉成西元

例:
2498,102/08/30,"17,113,260","2,614,904,148",149.00,156.50,148.00,156.50,+8.50,"11,192"

(2)櫃買中心

櫃買中心的資料就很一致了
所有欄位都用 " "夾起來,不像證交所有的用" " ,有的又不用
超過三位數後,裡面還是有再加逗點

例:
"880507","1,143","14,337","12.40","12.80","12.10","12.50","0.20","340"
 樓主| 發表於 13-9-3 11:19 | 顯示全部樓層
證交所資料裡面有這種格式的
101/08/01,0,0,--,--,--,--,0.00,0
整行要去掉,因為沒有交易資料,K棒跟本無法畫出
有點畫蛇添足
發表於 13-9-3 13:19 | 顯示全部樓層
我沒有使用過
但MC 的Manual裡有提到
Map ASCII(在QM的File選項下)似乎可以一次Import很多個檔案

評分

參與人數 1金錢 +2 收起 理由
電腦人 + 2 感謝分享,但仍要手動

查看全部評分

 樓主| 發表於 13-9-3 18:12 | 顯示全部樓層
本帖最後由 電腦人 於 13-9-3 18:14 編輯
alexliou 發表於 13-9-3 13:19
我沒有使用過
但MC 的Manual裡有提到
Map ASCII(在QM的File選項下)似乎可以一次Import很多個檔案

有啊http://www.multicharts.com/trading-software/index.php/Mapping_ASCII
全程仍然是要手動,而且步驟落落長


http://www.multicharts.com/pm/viewissue.php?issue_no=MC-342
還是要用手選 File / Map Ascii即可

最後還是要用手選,無法自動用SCRIPT包好

因為還是得選標的檔案

發表於 13-9-3 18:40 | 顯示全部樓層
本帖最後由 alexliou 於 13-9-3 19:20 編輯
電腦人 發表於 13-9-3 18:12
有啊http://www.multicharts.com/trading-software/index.php/Mapping_ASCII
全程仍然是要手動,而且步驟 ...

我剛剛試了一下
應該可以不必每次手動
只要第一次設定好(Symbol與它對應的ASCII File)即可
不過要一次要設定874筆 真是有點煩

Script 去抓證交所的資料然後更新ASCII files的內容(每個Symbol對應固定的ASCII檔名)
每次這個Symbol被reference到時
MC就會去對應的ASCII file抓資料

評分

參與人數 1金錢 +2 收起 理由
電腦人 + 2 太強了

查看全部評分

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-12-2 20:45

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 |