使用candle函数画日均k线图

  • 要求
  • 数据
  • 数据读入
  • 数据处理
  • 显示图形

本实验为课程设计需求

要求

下载一支股票2020年2月、3月的日线数据,并用MATLAB绘制日K线图,要求绘制5日均线和20日均线。

数据

使用海王星软件导出的股票数据,导出工商银行 (601398)在19.2.21到20.4.14的数据

数据读入

filename = '.\601398.txt';
[date,data1,data2,data3,data4] = textread(filename,'%s%f%f%f%f%*[^\n]','headerlines',3);

数据处理

因为要的是2020年2月和3月的数据,匹配字符串所表示的日期。

%% 处理数据
len = length(date) - 1;
data = [];% data = [data1(1:len),data2(1:len),data3(1:len),data4(1:len)];
for i = 1:lent = strsplit(date{i},'/');if strcmp(t{1},'2020') && (strcmp(t{2},'02') || strcmp(t{2},'03'))data = [data; data1(i),data2(i),data3(i),data4(i)];end
end

参考博客http://blog.sina.com.cn/s/blog_6b15ec9e0101iqkn.html

为了用k线图表示开盘价与收盘价之间:升-“红色”、降-“蓝色”、平-“黑色”的关系,需要对数据进行预处理;并且考虑日均线、5日均线、10日均线的区别要处理日期带来的改变。单独写一个函数

function [data2, data3, data4] = daysPlot(data, day)
% 查找二维数组的鞍点(行中最大、列中最小的点)
% Inputs:
%
% Optional Inputs:
%       ... ... ...
%
% Outputs:
%
% Example:
%       ... ... ...
%
% See also  ... ... ...
%
%   Copyright 2020-2020    ... ... ...
%   $Revision: 1.0.0.0 $   $Date: 2020/04/14 19:05:00 $
%
% 其它说明:... ... ...if (nargin<1)error('需要指定参数:A');
endif (nargin<2 || isempty(day))day = 1;
end%%
temp = [];
len = numel(data(:,1));
for i = 1:floor(len/day)j = 1;sumi = [0,0,0,0];while (i-1)*day+j <= lensumi = sumi + data((i-1)*day+j, :);j = j + 1;endtemp = [temp; sumi/(j-1)];
end
data = temp;%%
% 处理开盘高于收盘
data2=data;
data2(find(data(:,1)>data(:,4)),:)=0;% 处理开盘低于收盘
data3=data;
data3(find(data(:,1)<data(:,4)),:)=0;% 处理开盘等于收盘
data4=data;
data4(find(data(:,1)~=data(:,4)),:)=0;end

显示图形

调用上一部的daysPlot函数

%% 作图
% candle(HI, LO, CL, OP)% 日均线
[data2, data3, data4] = daysPlot(data, 1);subplot(1,3,1);
candle(data2(:,2),data2(:,3),data2(:,4),data2(:,1),'b');
hold on
candle(data3(:,2),data3(:,3),data3(:,4),data3(:,1),'r');
hold on
candle(data4(:,2),data4(:,3),data4(:,4),data4(:,1),'k');ylim([5,5.5]);% 5日均线
[data2, data3, data4] = daysPlot(data, 5);subplot(1,3,2);
candle(data2(:,2),data2(:,3),data2(:,4),data2(:,1),'b');
hold on
candle(data3(:,2),data3(:,3),data3(:,4),data3(:,1),'r');
hold on
candle(data4(:,2),data4(:,3),data4(:,4),data4(:,1),'k');ylim([5,5.5]);
% 10日均线
[data2, data3, data4] = daysPlot(data, 10);subplot(1,3,3);
candle(data2(:,2),data2(:,3),data2(:,4),data2(:,1),'b');
hold on
candle(data3(:,2),data3(:,3),data3(:,4),data3(:,1),'r');
hold on
candle(data4(:,2),data4(:,3),data4(:,4),data4(:,1),'k');ylim([5,5.5]);

图形如图所示,从左至右分别为日均线、5日均线、10日均线。

【金融工程实验】【matlab】使用candle函数画日均k线图相关推荐

  1. python画出K线图及技术指标

    目录 安装mplfinance及Ta-lib 画图 安装mplfinance及Ta-lib mplfinance是基于matplotlib的金融数据可视化分析模块,前身是mpl_finance,比起m ...

  2. 使用mpf画出k线图和唐奇安通道线

    本小章节对mplfinance的画图进行简单的说明 画出k线图和唐奇安通道线(同一幅图片内) 首先需要求解唐奇安通道线的各个指标,包括上轨线,下轨线和中轨线. 计算代码如下: # 通过数据库获取数据 ...

  3. 如何使用Tushare和Echarts来画股票K线图

    如何使用Tushare和Echarts来画股票K线图 技术支持 Tushare大数据社区官网 ​ 首先介绍一下这次要使用的两个工具,Tushare是一个基于Python的金融数据接口,拥有丰富的数据内 ...

  4. 【python量化交易学习】从tushare获取股票交易数据,存入后再从mysql或excel读取数据,筛选股票,用pyecharts画出K线图。

    选定日期,筛选涨幅达到10%的股票,并画出K线图.观察涨停后股票走势. 由于创业板涨停板为20%,科创板20%,北交所30%.因此筛选出的涨停股票不完全准确.考虑到目前市场打板主要集中在10%的主板股 ...

  5. 使用mpl_finance画股票K线图

    使用mpl_finance画股票K线图 前言 正文 前言 今天给大家介绍一下如何利用 python 中的 mpl_finance 模块画股票K线图. 该模块在 matplotlib 2.0之前是叫做 ...

  6. python tushare mpf 画股票k线图

    在 Python3 环境下使用 Python2 代码时,碰到了如下的语句: #import matplotlib.finance as mpf 需要安装 pip install mpl_finance ...

  7. 利用tushare画股票K线图

    文章目录 前言 一.tushare是什么? 二.使用步骤 1.引入库 2.设置自己的接口 3.获取数据 总结 前言 tushre ID :489992 关于财经数据,有多个Python库可以供咱们选择 ...

  8. java画股票k线图(蜡烛图)最全方法总结

    1.自己画:用javafx的canvas画布画,想画成什么样就画什么样,下图是我自己画的,根据我的需要,添加了箱体线. 2.用fx的一个开源图表库,作者是外国人,红绿颜色设置跟我们不一样并且一些细节我 ...

  9. 小猫统计画股票K线图

    1.首先导入融易汇数据,比如导入000777,中核科技. 2.工具--金融分析.下拉列表中选择SZ000777. 点击某条K线图,弹出提示.

最新文章

  1. SAP MM 采购发票上的金额小差异
  2. 超强实时人像抠图算法开源,随心所欲背景替换!
  3. 中国风力发电行业需求前景预测与投资战略规划分析报告2022-2028年版
  4. microsoft query尚未安装的原因和方法
  5. 预编码 matlab,无线通信-预编码-MATLAB代码合集
  6. linux c之gcc编译出现error:lvalue required as unary ‘‘ operand解决办法
  7. Windows下编译openssl库
  8. 这才是真正的用户增长
  9. 洛谷P4831 Scarlet loves WenHuaKe
  10. java 数组 null值_数组的元素String在java中包含null
  11. oracle 同时更新多表,在Oracle数据库中同时更新两张表的简单方法
  12. 麻省理工18年春软件构造课程阅读03“测试”
  13. 电动汽车动力系统整车仿真模型,具有双向DCDC变换器实现能量反馈,带异步电机仿真,应用最大转矩电流比控制加独特的弱磁控制策略
  14. python实现matlab_python 实现matlab的mapminmax方法
  15. WML语言基础(WAP建站)三
  16. 连接服务器显示句柄无效,紧急求助!!1  打印机不能打印 提示:句柄无效...
  17. 计算机应用程序没声音怎么办,电脑没声音怎么办
  18. 原来华为手机语音助手,还有3大隐藏功能,职场人的必备神器
  19. 语音对话声空计算机APP,空空语音app
  20. NeuroImage:对情绪表现的快速接近—回避反应反映了基于价值的决策:来自脑电图研究的神经证据

热门文章

  1. php 给注册加上限制条件,在注册用户时用两个条件限制,该如何处理
  2. python struct pack string_struct (String) – Python 中文开发手册
  3. 要不要借钱给好朋友?救急不救贫
  4. 《深度学习笔记》——防止梯度消失的学习笔记
  5. windows 设置ssh登录
  6. vijos-1447 开关灯泡-大整数开方算法
  7. Altium AD20更改原理图栅格改为点栅格
  8. Intellij IDEA基本配置
  9. 博主在哈佛评论网上的博客
  10. 关于笔算递归的通用算法——迭代