本文将介绍一些使用 IPython 和 pandas 进行投资分析和">统计分析的实际示例。
让我们进行一个常见的分析,您可能自己就可以完成这个分析。假设您想分析股票绩效,那么您可以:
在 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=['AAPL','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()