七天学会「股票数据分析软件」的开发(下)
昨天下午把《我不是药神》这部电影看了,搞得我哭的稀里哗啦,里面有一些情节触痛了内心中最薄弱的地方。药厂没有错,他们要收回前期投入的研发成本。主人公 程勇 只能算是整个事件的牺牲品,通过他的牺牲让国家关注到白血病人这个群体,让国家在医疗卫生改革方面有了一些进展。看的自己好难受!难受!难受!
还是回到我们今天的主题,把 「股票数据分析软件」 最后一个部分带着大家做完。
这套软件分为三个部分,第一部 分数据的获取与存储,第二部分 数据的分析与更新,到此为止,数据一直以记录(Record)的形式存在,很不直观,所以我们最后要做的就是把数据以及分析的结果通过图形的方式形象的表达出来。
怎么做呢?
我在这里利用了第三方开发组件 DotNetBar.Chart Control,大家可以到 http://www.devcomponents.com/dotnetbar/download.aspx 来下载试用版本。
这个组件的体系结构如下:
ChartXy
对象是绘制 X/Y Chart 的核心,ChartXy
对象主要包括:坐标轴 ChartAxis
、图例 ChartLegend
等,该对象存放于 ChartContainer
容器中。图形绘制所用到的数据存放于 ChartSeries
对象的 SeriesPoints
属性中,这个属性是一个存储 SeriesPoint
类型的单链表,通过 SeriesType
可以设置绘制图形的类型,如 Line
、Point
、Bar
,Bubble
,HiLo
等。
关于 DotNetBar.Chart Control 的详细介绍可以参见网址:http://www.devcomponents.com/kb2/?p=1715
绘图的主要步骤如下:
1. CheckData()
在数据可视化之前,先检验是否已经对数据进行了分析。若未分析,则给出提示。
2. SetupContainerStyle(ChartXy chartXy)
设置绘图容器的可视化效果,比如设置蜡烛图使用黑色的背景,直方图使用白的背景等。
3. SetupChartAxes(CharXy chartXy)
设置坐标轴的可视化效果,比如是否显示平行于 X
或 Y
轴的辅助线等。
4. SetupChartLegend(ChartXy chartXy)
设置图例是否可见,可选等。
5. SetupCrosshair(CharXy chartXy)
设置鼠标移动到数据点时的可视化效果。
6. SetupDataLabelStyle(chartXy chartXy)
设置直方图上显示信息的效果。
7. AddChartTitle(ChartXy chartXy,string title)
为图形添加标题样式。
8. AddChartSeries(ChartXy chartXy)
为图形添加数据。
通过以上步骤,把数据按照设定的样式进行可视化展示,我做的 Demo 如下:
程序主界面,在这个软件中,可以选择分析一个周期(2年)或者二个周期(4年)的数据。如下图所示:
蜡烛图,根据数据绘制蜡烛图,也就是我们常见的 K 线图。
历史交易曲线,根据数据绘制历史交易曲线,其中包括25、40、50、60、75分位数线,当然这些线可以通过上方的 Legend 选择是否显示。
分位数曲线 根据每日的分位数绘制曲线,可以方便的看出这个周期内分位数的变化情况。
筹码分布 把这个周期的成交数据 分成10个区间段,通过直方图展现每个区间段成交的笔数。这样可以方便的看出,整个市场主要的成交价格分布。
到这里,七天学会「股票数据分析软件」的开发 这个系列的图文就全部介绍完毕了。如果大家有什么问题可以给我留言,我为大家答疑。
我是从7月14日开始写这套软件的,大概7月20日完成,目前只做了部分单元测试,完善之后,我会传到 Github 上,方便大家学习。另外,由于国内是中心化的交易所,只有沪深两家,它们不免费提供交易接口,简直就是坑!
掌握编程技能的人也不得不通过券商手动挂单,降低大家的做事效率。面对这样强势的市场,却又无能为力,但数字货币的交易所是为我们提供免费 API 接口的,作为编程爱好者,可以写自动化交易系统来验证自己的交易策略,在不同交易所之间进行套利,或者在同一交易所内进行三角套利。如果有同学对这块感兴趣,开学后,我们一起来写这块的代码吧。
今天算是暑期的第一天,暑期是学习技能的最好时期,可以有大块的时间不受干扰。趁着难得的清闲,要好好准备一下下个学期的教学任务,把领导的几个项目做完,把明年学校的考核完成。就这样吧!See You!
七天学会「股票数据分析软件」的开发(下)相关推荐
- 七天学会「股票数据分析软件」的开发(中)
两天前,我写了 七天学会「股票数据分析软件」的开发(上),号召大家尝试着写写代码,不知道大家进度如何. 如果存在掌握一种技能的刚需,而且知道正确的学习方法,经过刻意练习,这门技能很快就能玩儿的有模有样 ...
- 七天学会「股票数据分析软件」的开发(上)
前几天写了一篇介绍股票交易策略的图文「赚钱是刚需,如何正确的交易股票?」,引起一些关注者的兴趣,时不时在后台留言 "今天沪深300分位数" 到达什么位置了?授人与鱼不如授人与渔,所 ...
- php获取股票接口数据接口,「股票数据」 使用Sina API获取新浪财经的证券股票数据接口(时价 K线等)...
在互联网上找到的新浪API的财务API表示Mark,以供将来参考 ++ e.sina.com.cn/downxls.php?date=2011-07-08&symbol=sh600900 收购 ...
- 新浪股票java接口,「股票历史数据接口」搜狐股票历史数据接口
搜狐股票历史数据接口 public class StockConnection { public static void main(String[] args) { URL ur = null; tr ...
- 数据来源渠道及采集工具_GrowingIO「转化数据回传」| 平台对接免开发,优化投放更便捷...
GrowingIO「广告监测」为我们准确监测投放质量.通过「转化数据回传」功能,我们能够快速完成广告平台对接工作,让广告效果优化更为高效. -- 某社交平台明星企业 随头条.腾讯等各广告平台逐步推出 ...
- FusionInsight怎么帮「宇宙行」建一个好的「云数据平台」?
摘要:基于数据湖架构,应用效率得以极大提升.经过几年发展,当前集群规模已经达到1000多节点,数据量几十PB,日均处理作业数大概是10万,赋能于180多个总行应用和境内外41家分行及子公司. 本文分享 ...
- 重磅发布!36氪中国新基建之王「大数据领域」TOP50企业揭晓
后信息技术时代,谁是数据海里的小白条? 制榜 | 贺卓媛 制图 | 王茹 出品 | 36氪创投研究院 封面来源 | IC photo 全球逐步进入以"数字化"为代表的后信息技术时代 ...
- 股票数据接口是怎么开发的?
一般来说,股票量化投资市场上常常会使用到java来开发股票数据接口,而这些接口解决方案是专门为查看肉眼可能会错过的最细微的市场细节而设计的.当然这也是一件好事,因为它表明市场波动通常不易识别,从原本会 ...
- 【githubshare】基于「源样黑体」进行开发设计,整体风格看起来清晰自然
GitHub 上一款开源的繁体字体:「繁媛黑體」,基于「源样黑体」进行开发设计,整体风格看起来清晰自然,还能满足 "一简对多繁" 的需求.一款开源的繁体字体:「繁媛黑體」,基于「源 ...
最新文章
- 如何在一个领域内成为顶尖人才?
- 利用人脑神经突触进行网络模型剪枝
- Dubbo负载均衡配置
- 2021-9-下旬 数据结构 - 线性表 - 循环链表 - java实现代码(复习用)
- 数据结构实验之图论九:最小生成树_每天5分钟用C#学习数据结构(25)图 Part 6
- python 绘制并列条形图并添加数据标签
- 鸿蒙系统基于安卓10.0,鸿蒙系统呢?华为首批升级安卓10.0机型曝光:这11款!...
- Spring 集成mybatis 3.几之后,打印sql语句到控制台
- 智慧体检中心管理系统方案/APP/小程序/公众号/网站
- 网页制作html怎么居中,网页制作中的水平居中和垂直居中解决方法集合
- 企业微信添加微信好友失败怎么办?
- 产品设计杂谈--微信篇
- 基于汇编实现的欢乐QQ堂小游戏 附完整代码
- vue3—reactive如何更改属性
- 3星|《不会讲故事,怎么带团队》:讲好故事的套路
- 告别Anaconda: Pycharm最简单的通过pip下载python包的方法(没有之一)
- ssis oracle配置,通过SSIS执行Oracle参数是什么?
- 第一单元:连续时间信号与离散时间信号
- python第k序列元素查找_【python】寻找数组中第k大的元素
- 数据库服务器配置文件设置,数据库服务器的配置要求