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的。因为还有网页展示的需求。机器学习总算实际用了一次。发现美股科技股年化有15%左右。
4784