python的Scripy提供了丰富的数学工具,python的科学计算包scipy的里面提供了一个函数,可以求出任意的想要拟合的函数的参数。那就是scipy.optimize包里面的leastsq函数。函数原型是:

leastsq(func, x0, args=(), Dfun=None, full_output=0, col_deriv=0, ftol=1.49012e-08, xtol=1.49012e-08, gtol=0.0, maxfev=0, epsfcn=0.0, factor=100, diag=None, warning=True)

一般我们只要指定前三个参数就可以了:func 是我们自己定义的一个计算误差的函数,x0 是计算的初始参数值args 是指定func的其他参数全部代码如下:

import numpy as npimport matplotlib.pyplot as pltfrom scipy.optimize import leastsq##样本数据(Xi,Yi),需要转换成数组(列表)形式Xi = np.array([160, 165, 158, 172, 159, 176, 160, 162, 171])Yi = np.array([58, 63, 57, 65, 62, 66, 58, 59, 62])##需要拟合的函数func :指定函数的形状 k= 0.42116973935 b= -8.28830260655def func(p, x):    k, b = p    return k * x + b##偏差函数:x,y都是列表:这里的x,y更上面的Xi,Yi中是一一对应的def error(p, x, y):    return func(p, x) - y    # k,b的初始值,可以任意设定,经过几次试验,发现p0的值会影响cost的值:Para[1]p0 = [1, 20]# 把error函数中除了p0以外的参数打包到args中(使用要求)Para = leastsq(error, p0, args=(Xi, Yi))print(Para)# 读取结果k, b = Para[0]print("k=", k, "b=", b)# 画样本点plt.figure(figsize=(8, 6))  ##指定图像比例:8:6plt.scatter(Xi, Yi, color="green", label="source", linewidth=2)# 画拟合直线x = np.linspace(150, 190, 100)  ##在150-190直接画100个连续点y = k * x + b  ##函数式plt.plot(x, y, color="red", label="target", linewidth=2)plt.legend()  # 绘制图例plt.show()

七日最小二乘法对股票K线划线

十四日最小二乘回归

二十八日最下回归划线

主要代码

#按不同步计算期间典型价格的线性回归def everyDayErChengPrice(sourceResult,step):    p0=[1,20]    global erChengPrice    count=len(sourceResult)    if count-step<0:        return    for i in range(count):        temp=[]        myStart=i        myEnd=i+step        if myEnd>count:            break        XI=sourceResult.values[myStart:myEnd][:,0]        YI=sourceResult['tprice'][myStart:myEnd]        Para = leastsq(error, p0, args=(XI, YI))        k, b = Para[0]        temp.append(XI)        temp.append(k * XI + b)        erChengPrice.append(temp)         #逐个计算最近7天的趋势everyDayErChengPrice(result,28)

matlab 最小二乘法拟合_Scripy实现最小二乘法与股票K线回归相关推荐

  1. matlab的三条线如何区分,股票的三条线代表什么意思?股票k线图中的三条线如何判断...

    股票的三条线代表什么意思? 它各自意味着KDJ三条线,在其中J线的挪动速率更快,次之是K线,比较慢的是D线.KDJ指标是股市上最常见的技术性分析工具,它在根据当日或近期几日最高成交价,最低价位及收盘价 ...

  2. Swift3实现的绘制股票K线库, FastImageCache提升图片的加载和渲染速度,Chameleon颜色框架

    代码1:用Swift3实现的绘制股票K线库 for iOS & macOS 代码地址:网页链接 代码2:FastImageCache是Path团队开发的一个开源库,用于提升图片的加载和渲染速度 ...

  3. plotly基于dataframe数据绘制股票K线图并过滤非交易时间

    plotly基于dataframe数据绘制股票K线图并过滤非交易时间 #ohlc过滤非交易时间: import plotly as py # 导入plotly库并命名为py import plotly ...

  4. python蜡烛图预测_python tushare股票K线蜡烛图绘制

    序言:学着学着就学到股票图形绘制了,尝试了下,入门蛮简单的,后面就不知道了,现在好像mplfinance更换了新版本,老版本不支持了.以下代码能实现单个股票K线蜡烛图图形输出,不过我用的是tushar ...

  5. 利用JFreeChart绘制股票K线图

    因为工作的需要,接触了一些股票图形绘制类的工作,其中最主要的还是股票K线图的绘制了,如果利用编程语言最底层的图形绘制方法去绘制这类图形,如果对编程语言不是特别熟悉的话,一般是有很大的困难的,通过在网上 ...

  6. layui + echarts股票K线图(含案例、代码、截图)(转载篇)

    文章目录 layui + echarts股票K线图(含案例.代码.截图)(转载篇) 一.案例.代码.截图 经验 · 补充说明: layui + echarts股票K线图(含案例.代码.截图)(转载篇) ...

  7. dax和m的区别_动态股票K线图----从M语言到DAX表达式

    偶然见别人画的股票K线图,不禁见猎心喜,也来模仿一番.原图是不能动的,一动MACD移动平滑趋势线就没有了.这是微软excel的一个缺陷. 所以我想了一个办法弥补这个缺陷.由于手头没有数据,开始实施网抓 ...

  8. Python绘制股票K线图

    目录 1 股票K线图知识了解 2 用Python绘制股票K线图 2.1 安装绘制K线图的mpl_finance库 2.2 引入相关库 2.3 用Tushare库获取股票基本数据 2.4 日期格式调整及 ...

  9. Android版股票K线图实现方案

    前言 本文将介绍股票K线图的实现方案,项目名为KLineChart,github地址https://github.com/zengzg/KLineChart. 介绍 K线图一般分为日K.周K.月K,显 ...

最新文章

  1. Xcode中通过删除原先版本的程序来复位App
  2. php5.5.33 源码安装,Linux PHP5.3升级PHP5.5.33
  3. c php socket,C与php socket通讯
  4. 世界级投资大师们的至理名言
  5. parseInt(),parseFloat(),parse()
  6. Google视角的地理信息科学家
  7. c#基于socket的UDP服务器和客户端实例
  8. linux文件系统_Linux的文件系统简介
  9. 为jquery.AutoComplete添加触发事件
  10. HTTP POST GET 区别
  11. 酷盘API C# 测试版
  12. 2022年 27 个最佳 UX/UI 设计灵感网站
  13. 库克将为斯坦福大学2019年毕业典礼致辞:6月16日举行
  14. html5 css3制作柱形图,一步一步教你实现纯CSS的柱形图
  15. 上证50基金有哪些_【宽基系列】上证50指数基金买哪个?
  16. 怎样学习计算机语言?
  17. 腾讯C++后台开发实习面经(已拿offer)
  18. 打字不会学计算机,电脑打字基础知识、打字指法,不会的快来看哦!
  19. python爬取58手机号_爬取58上的手机号码信息
  20. 智慧树\知到——程序设计基础(C语言)入门篇第六章到第十章测试答案

热门文章

  1. 免费 Flash 留言板 -Powered by Kong
  2. 中文WAP浏览器WapDisplayer V1.5发布
  3. 【操作系统复习】进程的状态与转换
  4. python能处理图片吗_python 能处理图像?
  5. oracle 内存分析工具,IDE 中的分析工具
  6. 动态资源和静态资源分离
  7. C++模板的一些基础知识
  8. 【程序员薪资】2021年04月新鲜出炉,看看你拖后腿了吗?
  9. Swagger 注解~用于方法
  10. 所谓高情商就是会说话--总结