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