PythonはScipyのcurveを通過fitは指数をフィッティングする
import pymysql
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from scipy.optimize import curve_fit
def fund(x, a, b):
return b * (a ** x)
connect = pymysql.connect(
host = '127.0.0.1',
db = 'blog',
user = 'root',
passwd = '123456',
charset = 'utf8',
use_unicode = True
)
cursor = connect.cursor()
select_sql = "select adj_close from qqq"
df = pd.read_sql(select_sql, con=connect)
# print(df.head())
xdata = range(1, len(df) + 1)
ydata = df['adj_close']
plt.plot(xdata, df['adj_close'], 'b-')
popt, pcov = curve_fit(fund, xdata, ydata)
y2 = [fund(i, popt[0],popt[1]) for i in xdata]
plt.plot(xdata,y2,'r--')
print(popt[0],popt[1])
print(popt[0] ** 252)
plt.show()
データはyahoo financeのqqqデータで、csvからmysqlにインポートされます.Web展示のニーズもあるからです.***米株の科学技術株の年化は15%前後であることが分かった.
http://www.waitingfy.com/archives/4784