Scipy包含致力于解决科学计算中的常见问题的各个工具箱,它的不同子模块对应不同的应用,比如插值、积分、优化、图像处理和特殊函数。Scipy可以与其他标准科学计算程序库如GSL(GNU C或C++科学计算库)或者Matlab工具箱进行比较,是Python中的科学计算程序核心包,用于有效地计算Numpy矩阵,以便于Numpy和Scipy协同工作。
首先介绍下利用plt.rcParams解决结果显示问题:
pylot使用rc配置文件来自定义图形的各种默认属性,称之为rc配置或rc参数。通过rc参数可以修改默认的属性,包括窗体大小、每英寸的点数、线条宽度、颜色、样式、坐标轴、坐标和网络属性、文本、字体等。rc参数存储在字典变量中,通过字典的方式进行访问。具体参照 具体例子
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import datetime as dt
%matplotlib inline
plt.rcParams["font.sans-serif"]=["SimHei"] #用来正常显示中文标签
plt.rcParams["axes.unicode_minus"]=False #用来正常显示符号
f=open("E://《Python与量化投资-从理论到实战》 代码//chapter3//data.csv",encoding="utf-8")
data=pd.read_csv(f,index_col="Date")
data.index=[dt.datetime.strptime(x,"%Y-%m-%d") for x in data.index] #strptime转化时间格式
data.head()
data.plot(figsize=(10,6))
plt.ylabel("涨跌幅")
一元线性回归:StatsModel模块
import statsmodels.api as sm
x=data["沪深300"].values
X=sm.add_constant(x) #添加常数项
y=data["中国平安"].values
model=sm.OLS(y,x)
results=model.fit()
results.params #查看模型的最终参数
plt.figure(figsize=(10,6))
plt.plot(x,y,"o",label="中国平安-沪深300")
plt.plot(x,results.fittedvalues,"r--",label="OLS")
plt.legend()
plt.xlabel("沪深300")
plt.ylabel("中国平安")
plt.grid(True)
插值:运用scipy.interpolate子库。
插值是离散数据的基础上补插连续函数,使这条连续曲线通过全部给定的离散数据点。插值是离散函数逼近的重要方法,可根据函数在有限个点处的取值状况,估算出函数在其他点的近似值。