本文將介紹一些使用 IPython 和 pandas 進行投資分析和HTTP://www.aliyun.com/zixun/aggregation/10341.html">統計分析的實際示例。
讓我們進行一個常見的分析,您可能自己就可以完成這個分析。 假設您想分析股票績效,那麼您可以:
在 Yahoo 金融專區找一支股票。。 下載歷史資料,保存為 CSV 檔案格式。 將 CSV 檔導入 Excel。 進行數學分析:回歸、描述性統計或使用 Excel Solver 工具進行線性優化。
很好,但本文為您展示一種更簡單、更直觀、功能更強大的方法,使用 IPython 和 pandas 進行同種分析。
IPython 庫是使用 Python 的資料科學家的重要工具之一。 該工具與 Excel 的最大不同在於,您可以使用它以對話模式探索來自某個互動式提示符的資料和分析。 本文中的示例主要使用 IPython 作為機制來運行它們。
Python Data Analysis Library (pandas) 是一個擁有 BSD 許可證的開源庫,為 Python 程式設計語言提供了高性能的、便於使用的資料結構和資料分析工具。
入門
在開始使用 IPython 和 pandas 時,需要設置您的 Linux 或 Unix 作業系統,如 Ubuntu 或 OS X。
安裝 pip,pip 是一個用於安裝和管理 Python 資料包的工具。 您可能以前用過 easy_install,但 pip 現在已經取代了 easy_install。 要安裝 pip,請進入 Python 網站的 pip index 頁面,按照說明進行操作。 在安裝了 pip 之後,使用以下命令安裝 IPython: sudo pip install IPython 使用 pip 安裝 pandas: sudo pip install pandas 還有一個安裝工具 — matplotlib,這是一 個用於 Python 程式語言及其 NumPy 數值數學擴展的繪圖庫。 請使用以下命令: sudo pip install matplotlib
現在已經執行了所需的所有步驟,讓我們開始使用 IPython 和 pandas 吧!
Pandas 簡介
將您的投資組合資料輸入到 pandas 中,請使用以下代碼:
清單 1. Pandas 組合資料的導入
In [1]: import pandas.io.data as web In [2]: from pandas import DataFrame In [3]: data_feed = {} In [4]: symbols=['A APL','FB', 'GOOG', 'SPLK', 'YELP', 'GG','BP','SCPJ','JNJ', 'OMG'] In [5]: for ticker in symbols: ...: data_feed[ticker] = web.get_data_yahoo(ticker, '05/21/2012', '11/1/2012') ...: In [6]: price = DataFrame({tic: data['Adj Close'] ...: for tic, data in data_feed.iteritems()}) In [7]: volume = DataFrame({tic: data['Volume'] ...: for tic, data in data_feed.iteritems ()}) In [8]: returns = price.pct_change()