0
点赞
收藏
分享

微信扫一扫

Python 通过Scipy 的curve_fit 来拟合指数

佳简诚锄 2022-08-04 阅读 51


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%左右。

举报

相关推荐

0 条评论