顯示具有 程式語言 標籤的文章。 顯示所有文章
顯示具有 程式語言 標籤的文章。 顯示所有文章

透過Python開啟外部指令進行爬蟲(以下載台灣期貨交易所的公開資料為例)


為了方便、大量與快速取得資料,爬蟲不可或缺,本次來介紹如何使用python進行爬蟲,並且使用外部指令進行主要功能實現。

前言

一般我們普遍認為開源節流是重要的金錢觀,為了維護我們的資產,錢要進得來,同時花出去的錢也要能夠獲得控制。事實上,開源與節流這兩件事誰更重要,當然是開源,開源意味著資產增加,但節流,再怎麼節省,錢包還是這麼大。但或許是因為人心,我們比起獲利,會更害怕損失,於是節流反而對我們來說卻是重點。

另一方面,存錢也是一個很重要的節流方式,但仔細想想,這些錢如果不去利用,其實就是一種浪費。怎麼說呢?如果這些錢能夠透過各種方式,比如投資,讓錢生財,自然也是一種開源的方式。那當然像是投資這種事會有風險,所以它才會有獲利,不是嗎?

開源節流、開源節流,為何要一起講,我認為最好的解釋就是在開源的同時,我們要想著如何節流;反過來說,在我們想著如何節流的時候,我們也要保持考慮如何開源。根據自己的情況、環境與條件,最大限度的提高獲利,並將損失降低至最小。這在程式人眼中看來,自然是一個最佳化問題。

本篇並不討論如何分析這樣子的最佳化問題,所以並不提供任何策略與方向(投資請衡量自身情況,風險與獲利自行承擔),只著重在如何取得用來分析的資料,畢竟沒有資料,也無法開始。無論是人或是機器,都需要感知外界的環境變化與資訊,經過深思熟慮後,才能做出一個好的應對方式。

MATLAB爬蟲(以下載台灣期交所的公開資料為例)


爬蟲這項技術說實在確實非常重要,也與我們的生活息息相關,現在的網路如此發達,無法想像的資料量也還是在成長著,為了更方便地取得與處理資料,在自動化的議題上,爬蟲便成為了不可或缺的其中一項技術。

台灣期貨交易所

台灣期貨交易所(Taiwan Futures exchange),顧名思義,是在台灣所成立的金融衍生性商品的交易設施,交易商品包含期貨以及選擇權等商品,這兩種都是一種契約。而台灣期貨交易所為了讓交易人能夠快速了解在台灣期貨市場(Futures Market)的動態消息,特別提供了一個官方網站平台(www.taifex.com.tw),上面有台灣期貨交易所相關的公司介紹,包含願景以及交易商品有哪些,還有當前期貨市場上的最新消息。當然,對於想要更進一步了解金融市場的人而言,想必也會特別關注統計資料以及交易資訊了。再來他們也提供了法規規定以及交易規則等等參考檔案,資訊非常完整。

台灣期貨交易所不僅提供交易資訊的查詢,也有提供近期的交易資料下載,其提供的資料也都已經結構化處理過,我們只需要視情況轉換為自己想要的處理格式便可。如果我們想要收集這些資料,以便進行相關的研究與分析(別把自己下載資料拿去交易或相關形式的轉讓等等,避免違法),使用爬蟲技術並讓其自動化是非常方便的。

MATLAB簡單指令操作


在深入了解MATLAB語言之前,有一些指令可以幫助了解使用環境與編寫程式~~~

測試MATLAB軟體啟動效能

有時候,根據不同電腦規格不同、MATLAB軟體版本不同,以及當初安裝MATLAB軟體時,選擇的安裝位置在HDD硬碟上,致使每次開啟MATLAB軟體所花的時間較久一些。有點好奇這段開啟的時間內,MATLAB到底做了哪些事嗎?
這時我們可以試試在Windows Command Line(or named cmd)上,輸入以下指令:

MATLAB軟體介面基礎介紹


為了方便編寫MATLAB程式,需要先知道的MATLAB軟體環境…

MATLAB軟體介紹

  1. MATLAB軟體是Matrix Laboratory的縮寫,是一款由美國The MathWorks公司出品的商業數學軟體。
  2. 用於演算法開發、資料視覺化、資料分析以及數值計算的進階技術計算語言和互動式環境。
  3. 除了矩陣運算、繪製函數/資料圖像等常用功能外,MATLAB軟體還可以用來建立使用者介面及與呼叫其它語言(包括C、C++、Java、Python和FORTRAN)編寫的程式。
  4. 利用為數眾多的附加工具箱(Toolbox)它也適合不同領域的應用,例如控制系統設計與分析、圖像處理、訊號處理與通訊、金融建模和分析等。
  5. 配套軟體包Simulink,提供一個視覺化開發環境,常用於系統類比、動態/嵌入式系統開發等方面。

>>>以上五點參考自維基百科<<<

是的,其他程式語言與函式庫做得到的事,MATLAB軟體及語言都做得到,且主打矩陣運算的它,再加上簡易的Debug環境與人性化界面,使其成為學術上常被使用來做學術研究的選擇之一。