請選擇 進入手機版 | 繼續訪問電腦版

COCO研究院

 找回密碼
 註冊
搜索
查看: 16184|回復: 180

[工具] Python軟體:自動下載數據轉檔程式2.0(新增期指)

  [複製鏈接]
本帖最後由 Peic 於 16-2-13 02:07 編輯

整個程式已改寫成OOP,新增以期指轉檔為主,並更改了執行檔名(ocelot.py),故開新板作區隔.
保留原股票部分功能增台加權指數資料,期指部分功能如下:
   1.下載期指/台加權數據轉成飛狐或Multicharts/Amibroker 格式的tick,1 分鐘或5 分鐘數據檔案.
   2. 可選擇日期間隔或今日往前算起下載的日數
   3. 可設定最後轉檔後整合的檔案為固定檔名,方便每天軟件滙入
   4. 可由選項開啟或關閉Tick 和分鐘期指數據.
   5. 只要原始目錄有數據檔(zip 或RPT)即可轉檔,無需下載數據.
   6. 可產生期指近月歷史資料只要有RPT檔案.
   7. 可由選項(-m)增加期貨商品月份
   8. 期貨內定轉台指期商品,亦可由選項(-o)新增'TF'或'TE'

使用方法可参考另一板之說明 [url=:http://www.coco-in.net/forum.php ... 43282&fromuid=26226][/url]或附件內readme.pdf

期貨選項說明:
Usage: Ocelot.py [options] arg Directory
Options:
    -d DURATION 輸入下載日期間隔(17 byes) StartDate-EndDate. YYYYMMDD-YYYYMMDD
    -n NUMBER 輸入從今日往前算起下載的日數
    -p PATH 輸入下載數據檔案路徑
    -f FILENAME 輸入固定轉成數據檔案名稱
    -t 停止上市櫃數據功能
    -q 停止台期指數據功能
    -s 產生期指/台加權飛狐分時數據
    -i 只下載和轉檔台加權指數數據功能
    -u MULTI_NO 產生期指Multicharts 分時數據, 1:Tick, 2:Minutes, 3:Tick&Minutes
    -m MONTHS 產生期指月份數 (1: 當月,2:當月&次月, 3: 當月&次月&次次月….)
    -o COMMODITY 輸入新增期指商品. (內定為'TX')
範例:
> python D:\TXDAY\Ocelot.py –t –d 20151025-20151027 –s –p D:\TXDAY
     只下載期指數據並轉檔成大陸飛狐軟件滙入格式日資料,5 和1 分鐘資料,轉檔後數據目錄在 D:\TXDAY\Foxfile.
     > python D:\TXDAY\Ocelot.py –t –d 20151025-20151027 –u 3 –p D:\TXDAY
     只下載期指數據並轉檔成Multicharts 軟件滙入格式的Tick 和1 分鐘資料,轉檔後數據目錄在 D:\TXDAY\Multichart
Ocelot.rar (240.94 KB, 下載次數: 225, 售價: 5 金錢)

評分

參與人數 3金錢 +6 收起 理由
takashi888 + 2 太強了
Fesimi + 2 感謝分享
jinljinl + 2 感謝分享

查看全部評分




上一篇︰日經225 驚奇之旅續
下一篇︰2016-02-15 猴年開市 ...
 樓主| 發表於 16-11-28 15:07|載入全部圖片 | 顯示全部樓層
本帖最後由 Peic 於 16-11-28 15:20 編輯

Ocelot 3.0 發佈:
由於網友有許多安裝python和相關套件問題,自3.0版直接整合python和相關套件成單一ocelot.exe可執行檔. 不再需要安裝Python. 同時市場選項改成有列選方執行. 相關細節,参考Readme文件.

新功能和修正:
1. 將Python 和相關套件整合成單一可執行檔案(ocelot.exe)
2. 新增台指選擇權日資料轉檔功能
3. 修正台指數轉檔數據的錯誤(TSE網頁改版)
4. 修正期貨數據(期貨網頁改版)
5. 新增支持所有期指商品(包含東證,印度,歐元/美元.. 等等商品) ex: -o TE,TF,XJF
ˊ6. 市場選項改成-a -b -c -i 有列選方執行
7. 新增 –r 選項. 轉檔後清除下載檔案

Usage: ocelot [options] argument

Options:
  --version     show program's version number and exit
  -h, --help    show this help message and exit
  -d DURATION   輸入下載日期間隔(17 byes) StartDate-EndDate. YYYYMMDD-YYYYMMDD
  -n NUMBER     輸入從今日往前算起下載的日數
  -p PATH       輸入下載數據檔案路徑
  -f FILENAME   輸入固定轉成數據檔案名稱
  -a TSEPEX     產生個股日數據,1:個股不含權證, 2:All
  -b FUTURES    產生期指數據, 1:Day, 2:Tick 3:Minutes&Day
  -c OPTIONS    產生台指選擇權日數據, 1:週選, 2:月選, 3:週&月選
  -i INDEX      產生加權指數數據功能,1:Day, 2:Minutes&Day
  -m MONTHS     產生期指月份數
  -o COMMODITY  輸入新增期指商品
  -r            轉檔後清除下載的檔案
  -x            只下載&解壓縮期貨/選擇權檔案
  -w            顯示處理訊息

ex:
1. D:\TXDAY\Ocelot.exe -a 1 -i 1 -d 20151001-20151027 -p D:\TXDAY
以日期間隔(2015/10/01 ~ 2015/10/25)下載台股上市櫃,加權數據並轉檔成大陸飛狐軟件滙入格式日資料,下載數據目錄指定在 D:\TXDAY\FOXFile
2. D:\TXDAY\Ocelot.exe –n 3 –o TE,TF,TJF –b 3 -p D:\TXDAY
下載期指,電子期,金融期和東證期數據並轉檔日資料,5和1分鐘資料,轉檔後數據目錄指定在FoxFile和Multichart. (不轉檔上市櫃數據)

PS: 1. 避免安裝和修改產生問題,不再提供源碼. 如前版有問題,請改使用3.0版.
      2  如2.0版適合你,請繼續使用2.0,未必要用到3.0版.

Readme_v3.pdf

290.32 KB, 下載次數: 182

Readme

ocelot.rar

4.14 MB, 下載次數: 69

售價: 5 金錢  [記錄]

ocelot

評分

參與人數 2金錢 +7 收起 理由
Fesimi + 5 感謝分享
cukie + 2 太強了

查看全部評分

 樓主| 發表於 17-2-28 21:44|載入全部圖片 | 顯示全部樓層
Ocelot 3.1 發佈:
功能: (紅字為3.1版新增功能)
     1.自動下載台股上市櫃個股日數據並轉檔成股票分析軟體(飛狐, Amibroker或Multicharts)可滙入格式的日數據檔案.(Ex –a)
     2.自動下載台股加權/電子/金融指數數據並轉檔成股票分析軟體可滙入格式的日/分鐘數據檔案 (Ex –i )
     3.自動下載台期貨商品數據並轉檔成股票分析軟體可滙入格式的日/分鐘數據檔案 (Ex –b , –m, –o)
     4.自動下載台指選擇權數據並轉檔成股票分析軟體可滙入格式的日/分鐘數據檔案. (Ex –c, -e)
     5.可選擇日期間隔(i.e –d)或今日往前算起下載的日數 (Ex –n)
     6.可設定最後轉檔後整合的檔案為固定檔名,方便每天軟件滙入(Ex –f)
     7.只要原始目錄有數據檔(csv,zip或RPT)即可轉檔,無需下載數據.
     8.可由選項自動下載期指和選擇權數據檔案但不轉檔功能.(Ex –x)
     9.可由選項下載數據轉檔後清除下載檔案減少硬碟空間(Ex –r).
修正: 3.0 版 ocelot -i 無法建立目錄的問題.
使用方式: 請参看Readme_v31 或直接輸入 ocelot -h 可顯示参數使用方式
PS:如前版(2.0/3.0)適合你,請繼續使用前版,未必要用到3.1版.
下載檔案收1金錢純記錄.

ocelotv31.rar

4 MB, 下載次數: 40

售價: 1 金錢  [記錄]

ocelot 3.1 版

Readme_v31.pdf

308.34 KB, 下載次數: 137

評分

參與人數 1金錢 +5 收起 理由
tinyding + 5 感謝分享

查看全部評分

 樓主| 發表於 17-3-5 14:26|載入全部圖片 | 顯示全部樓層
Ocelot V3.11 發佈
功能: 同3.1 版,
修正: 在未使用指定檔名参數選項(-f)下,同時使用-b, -i 或-c, -i 選項下某些参數,會造成指數日數據無法產生.
使用方式: 請参看3.1版發佈樓層 (#77) Readme_v31 或直接輸入 ocelot -h 可顯示参數使用方式

附加說明:
    從3.1版開始新增兩功能: 產生電子金融指數數據 (-i 3 或-i 4) 和選擇權分鐘數據 (-e) ,
    例子說明如下:
    1. 保留原有 -i 1 和 -i 2 新增-i 3 和-i 4
        -i 3 : 除了加權指數日數據,會產生電子,金融指數日數據.
        -i 4 : 除了加權指數分鐘數據,會產生電子,金融指數分鐘數據.
    2. 選擇權分鐘數據.
        -e AAAABCC
            AAAA:履約價. ex '9500','10000'或'ALL'. ALL表示當日所有成交的履約價.
            B: 'C' 或'P" 表買或賣權
            CC: 為履約月或週. ex: '02','05'或'W2"....
         ex: -e 9500C03, 9400P04  (當日3月買權9500點的分鐘數據,4月賣權9400點的分鐘數據)
               -e  ALLP03,ALLPW2,9500P04  (當日3月和W2所有屢約價賣權的分鐘數據,,4月賣權9500點的分鐘數據)

ocelotV311.rar

4.24 MB, 下載次數: 110

售價: 1 金錢  [記錄]

ocelot 3.11

評分

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

查看全部評分

回復 支持 1 反對 0

使用道具 舉報

 樓主| 發表於 17-5-25 18:34|載入全部圖片 | 顯示全部樓層
本帖最後由 Peic 於 17-5-25 19:12 編輯

Ocelot V3.1ˋ4 發佈
功能: 同3.1 版. (不支持盤後數據轉檔)
修正: 1.修正因證交所網頁5/23改版,造成-a 和 -i 選項錯誤問題.
使用方式: 1. 請参看Readme_v31 或直接輸入 ocelot -h 可顯示参數使用方式                2. 請將\TSECLOSE 目錄下有5/23和之後時間的檔案先移除.
               
PS: 1. 這次因證交所網頁改版,竟花了比預期多的時間...  身體狀況差,寫程式能力也差了!!  呵呵!!   
      2. 暫不會常上網, 如未能回復問題,請見諒!!

ocelotv314.rar

4.22 MB, 下載次數: 45

售價: 1 金錢  [記錄]

ocelot 3.14

評分

參與人數 3金錢 +9 收起 理由
splendor + 2 太強了
Fesimi + 5 感謝分享
cukie + 2 太強了

查看全部評分

回復 支持 1 反對 0

使用道具 舉報

 樓主| 發表於 17-6-8 19:27|載入全部圖片 | 顯示全部樓層
Ocelot V3.21 發佈
功能:同3.20,支持盤後交易數據轉檔功能
修正: 1. 修正因配合盤後交易,造成期貨日資料數據轉檔問題.
使用方式: 1. 請参看Readme_v31 或直接輸入 ocelot -h 可顯示参數使用方式
               
PS: 身體健康因素,如軟體有問題,無法回復,請見諒!!

ocelotv321.rar

4.15 MB, 下載次數: 30

售價: 1 金錢  [記錄]

Ocelot V3.21

評分

參與人數 1金錢 +2 收起 理由
cukie + 2 按一個讚

查看全部評分

 樓主| 發表於 17-6-20 20:56|載入全部圖片 | 顯示全部樓層
本帖最後由 Peic 於 17-6-20 21:00 編輯

Ocelot V3.23 發佈
功能:同3.2x,支持盤後交易數據轉檔功能
修正: 修正 -t 2 盤後交易時段的日數據以開盤日為基準.
使用方式: 1. 請参看Readme_v32 或直接輸入 ocelot -h 可顯示参數使用方式
Usage: ocelot [options] argument
Options:
  -t ONESYMBOL  不同交易時段期貨轉檔格式,1:相同代碼/檔案 2:不同代碼/檔案
PS: 1.無需期貨盤後交易時段使用不同代碼者,無需下載本版本.(選擇權盤後交易轉檔未更動)
      2.考量盤後参考標的是以美股(Nasdaq, S&P500..),故-t 2 盤後數據日期以開盤日為準.

ocelotv323.rar

3.9 MB, 下載次數: 31

售價: 1 金錢  [記錄]

Ocelot V.323

評分

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

查看全部評分

 樓主| 發表於 17-7-2 21:02|載入全部圖片 | 顯示全部樓層
Ocelot V3.24 發佈
功能:同3.2x,支持盤後交易數據轉檔功能
修正: 修正發行量加權股價指數歷史日數據Time out問題.
使用方式: 1. 請参看Readme_v32 或直接輸入 ocelot -h 可顯示参數使用方式

ocelotv324.rar

4.19 MB, 下載次數: 69

售價: 1 金錢  [記錄]

Ocelot V3.24

發表於 17-7-13 12:12|載入全部圖片 | 顯示全部樓層
Peic 發表於 17-7-13 11:26
你是要抓資料還是故意要攻擊網站?
如果是後者,恭喜你. 如果是前者,那是你的程式問題還是網站問題,你自己想 ...

當然是要抓資料了
你說 不然勒?

我只是想傳遞訊息給大家知道而已
要釋放自動下載程式
就要知道會被設限的機會發生
不要事後再那裡抱怨東抱怨西, 搞不清狀況就好了



回復 支持 0 反對 1

使用道具 舉報

發表於 17-7-23 18:41|載入全部圖片 | 顯示全部樓層
到市場去賺錢比較實在
回復 支持 1 反對 0

使用道具 舉報

 樓主| 發表於 16-4-30 15:05|載入全部圖片 | 顯示全部樓層
f29825604 發表於 16-4-30 11:05
請問Peic大大
有一個python寫的程式

你的貼圖,我不知是何種Python程式? 一般要背景執行要使用multi-thread 的方式. 在叫起的thread 內呼叫你所要執行的function.  
你可google "python thread example" 可找到不少例子.
multi-thread 程式不難,只要你不要讓它變成dead-lock,還有小心變數的取用即可.

你是希望有windows介面程式的python程式?  你如果有興趣GUI在python的應用,你可google "python gui" 應該可找到不少GUI module 可用.
ocelot.py 主要是希望在以工作排程方式進行,所以沒考慮GUI.  如果你只是希望可以有windows GUI可下指令執行ocelot.py,你可以VC,BCB,VB或C# .net 寫一個簡單Windows 程式,再來以exce, system 或process.start 等方式來執行它,可能更簡單.
   




回復 支持 1 反對 0

使用道具 舉報

 樓主| 發表於 16-4-13 12:56|載入全部圖片 | 顯示全部樓層
本帖最後由 Peic 於 16-4-13 13:04 編輯
glus11 發表於 16-4-11 17:29
另外請問我只想把我已經下載的rpt檔 a.rpt
轉成1分線
我應該怎麼下指令? 不太懂  感謝 ...

1. 請看一下前面的說明. 修改ocelot.py內的期交所下載聯結.
2. 近30日資料,期交所RPT檔還在,會直接下載轉檔.無需手動下載.
3. 手動下載的RPT檔,請維持原檔名. (不能改成a.rpt)4. 請参考說明,確認目錄是否都有建起來.
5. 你下的指令應該沒問題. 依前面所提修改,就可以了!!




評分

參與人數 1金錢 +1 收起 理由
f29825604 + 1 按一個讚

查看全部評分

回復 支持 1 反對 0

使用道具 舉報

 樓主| 發表於 16-3-7 17:35|載入全部圖片 | 顯示全部樓層
lwhuang 發表於 16-3-7 15:55
什麼都沒有發生,弄錯了什麼了嗎?

執行結果節錄

剛發現期交所網站改版了,並下載路徑期指資料修改了.
請用小作家或一般文字Editor將ocelot.py以下內容
.tw/DailyDownload/'
改成
.tw/DailyDownload/DailyDownload/'


ps:由於此網站會誤判我給外部網頁聯結,禁止發文.  在 .tw/DailyDownload/' 之前的文字需保留.   


評分

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

查看全部評分

回復 支持 1 反對 0

使用道具 舉報

發表於 16-2-13 10:31|載入全部圖片 | 顯示全部樓層
很棒的程式,感謝您熱心分享
發表於 16-2-13 14:34|載入全部圖片 | 顯示全部樓層
很實用 方便  感謝分享
 樓主| 發表於 16-2-16 15:38|載入全部圖片 | 顯示全部樓層
忘了在readme 中說明,除了安裝Pyhtnon3外,你還必須安裝beautifulsoup4 和 lxml 程式庫.
如果lxml 安裝不起來,你可修改ocelot.py 以下兩行
soup = BeautifulSoup(data1,"lxml")  改成  soup = BeautifulSoup(data1)
soup = BeautifulSoup(data2,"lxml")  改成  soup = BeautifulSoup(data2)
由Beautifulsoup幫你選擇可用的parser.





發表於 16-2-18 11:51|載入全部圖片 | 顯示全部樓層
請問beautifulsoup4 和 lxml 程式庫. 怎麼安裝?可以連結個網站嗎?因為執行bat檔一閃即逝.沒結果.是否沒安裝beautifulsoup4 和 lxml 程式庫的關係?
 樓主| 發表於 16-2-18 18:32|載入全部圖片 | 顯示全部樓層
你在命令提示字元下執行 bat檔. 應該就可以看到執行錯誤.

我的權限沒法給聯結.建議用google搜尋" python beautifulsoup 安裝",應該可找到許多文章介紹.
發表於 16-2-18 19:16|載入全部圖片 | 顯示全部樓層
應該是沒安裝好beautifulsoup4. 訊息顯示 importError:no module name 'bs4'.  我有下載beautifulsoup4-4.4.1.tar.gz 解壓縮成 beautifulsoup-4.4.1資料夾 請問要怎樣安裝才會正確?我的python是3.4 有差嗎?
發表於 16-2-18 19:35|載入全部圖片 | 顯示全部樓層
OK.可以了.謝謝

在windows上安裝BeautifulSoup4
1.下載BeautifulSoup4,如beautifulsoup4-4.4.1.tar.gz。

2、解壓縮到本地硬盤上,如C:\Python34下。

3、運行cmd,執行:

cd C:\Python34\beautifulsoup-4.4.1

setup.py build

setup.py install
發表於 16-3-7 11:40|載入全部圖片 | 顯示全部樓層
lxml裝不起來
python3.3 for windows
發表於 16-3-7 15:55|載入全部圖片 | 顯示全部樓層
什麼都沒有發生,弄錯了什麼了嗎?

執行結果節錄
  1. Taife data
  2. WARNING:Download Except...
  3. WARNING:retry ..0
  4. WARNING: Not zip file and remove it: D:\tradedata\TXDAY\TAIFECLOSE\Daily_2016_03
  5. _07.zip
複製代碼
發表於 16-3-7 19:01|載入全部圖片 | 顯示全部樓層
可以下載了,出現新的錯誤
(我裝不起 lxml,依前文去除lxml)

  1. Traceback (most recent call last):
  2.   File "D:\Dropbox\Trading\history\ocelot\ocelot.py", line 1148, in <module>
  3.     ocelot=OCELOT(number)
  4.   File "D:\Dropbox\Trading\history\ocelot\ocelot.py", line 1138, in Running
  5.     GoTaifex=TAIFEX(taifex_url,download_dir)
  6.   File "D:\Dropbox\Trading\history\ocelot\ocelot.py", line 217, in Handle_Data
  7.     self.Build_Min1_File(runcommodity,min1file_name,downloaded_date,Firstrun)
  8.   File "D:\Dropbox\Trading\history\ocelot\ocelot.py", line 326, in Build_Min1_File
  9.     with open(self.fox_path+min1file_name, 'a') as min1_file:
  10. FileNotFoundError: [Errno 2] No such file or directory: 'D:\\tradedata\\TXDAY\\FOXFile\\Min1_20160227_20160307.csv'
複製代碼
 樓主| 發表於 16-3-7 21:34|載入全部圖片 | 顯示全部樓層
不好意思!! 程式原先設計是會先轉股票數據,故沒測到一開始就轉期指數據 ,照成FOXFILE目錄沒被新增. 請先跑一次股票和期貨後( 即請先移除.bat 檔內的 -t 選項) 後續就可單轉期貨數據(可再將-t 加回 .bat 檔內).

評分

參與人數 1金錢 +2 收起 理由
lwhuang + 2 成功了,好厲害的程式

查看全部評分

發表於 16-3-9 13:56|載入全部圖片 | 顯示全部樓層
Peic 發表於 16-3-7 21:34
不好意思!! 程式原先設計是會先轉股票數據,故沒測到一開始就轉期指數據 ,照成FOXFILE目錄沒被新增. 請先跑 ...

變通的方法只要在bat檔最前面加入建目錄 FoxFile就行了

發表於 16-3-17 16:31|載入全部圖片 | 顯示全部樓層
很棒的程式,感謝您熱心分享
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

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

GMT+8, 17-12-12 05:06

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表
理財討論網站 | 優質玻尿酸隆鼻 專業皮膚科診所 推薦電波拉皮效果 優質淨膚雷射效果 推薦微晶瓷隆鼻 | 徵信社精選| SEO優化|