1 LSGO软件技术团队 贡献人:马燕鹏 如果喜欢这里的内容,你能够给我最大的帮助就是转发,告诉你的朋友,鼓励他们一起来学习。 If you like the content here, the greatest help you can give me is forwarding, so tell your friends and encourage them to learn together. 两天前,我写了 七天学会「股票数据分析软件」的开发(上),号召大家尝试着写写代码,不知道大家进度如何。 如果存在掌握一种技能的刚需,而且知道正确的学习方法,经过刻意练习,这门技能很快就能玩儿的有模有样,但想精进这门技能,就需要靠时间的积累了。有关学习编程的方法,可以参考我的另外一篇图文 学不会编程?试试我的方法。 言归正传,我们继续 「股票数据分析软件」的开发第二部分 -- 数据的分析。 由于我们使用的量化模型非常简单,可以参考图文 赚钱是刚需,如何正确的交易股票?。所以 数据分析部分 主要解决两个问题,第一个,计算 沪深300交易数据的分位数。第二个,数据的读取与更新。 我们先说 计算 沪深300交易数据的分位数。由于两年沪深300交易数据的数量大概 490 条左右(远远超过100条),所以我在另一篇图文 如何通过Matlab验证自己的交易策略? 中给出的计算分位数的方法 如果数据量小只有两条。比如 有了算法,我们就可以进入编程实现环节,首先构造一个对 public static double Quartiles(this double[] values, double p, bool alreadySorted) 我们接着构造另外一个 public static int Percentile(this double[] values, double value, bool alreadySorted) 第一个问题到这里就结束了,我们来解决第二个问题 -- 数据的读取与更新。为了避免重复计算,我也建立了一张数据表
数据分析与更新的步骤如下: Step1:读取数据分析日志,确定需要分析的数据。 Step2:确定分析所需的历史数据是否完备。即数据库中已经存储了计算两年分位数的全部数据,如果数据不完备则提示先要下载历史数据。下载历史数据的功能我们已经在 七天学会「股票数据分析软件」的开发(上) 中介绍完毕。 Step3:分析数据并把结果写入数据库。即把数据取出,计算分位数,然后把计算结果存回数据库。 Step4:记录分析数据的日志。 经过以上四个步骤,数据的分析与更新就全部搞定了。最后,看看我做的Demo: 分析数据:对选中年份、季度的数据进行分位数计算,并显示结果。如下图所示: 查看日志:查看分析和更新数据的日志。如下图所示: 查看数据:查看数据库中选中年份、季度的所有数据。如下图所示: 导出数据:把计算的结果导出到EXCEL表格中。如下图所示: 到此,七天学会「股票数据分析软件」的开发 第二部分就结束了,如果大家遇到什么问题给我留言,我给大家答疑。 经过第一部分,我们从 新浪财经 把股票的数据爬取下来并存入数据库中。经过第二部分,我们把爬取下来的数据进行分析处理,并把分析的结果存入数据库中。就剩下第三部分,把这些分析的结果可视化展示就OK啦。 See You 我们下次见。 经过8年多的发展,LSGO软件技术团队在地理信息系统、数据统计分析、计算机视觉领域积累了丰富的研发经验,也建立了人才培养的完备体系。 欢迎对算法设计与实现感兴趣的同学加入,与我们共同成长进步。 本微信公众平台长期系统化提供有关机器学习、软件研发、教育及学习方法、数学建模的知识,并将以上知识转化为实践。拒绝知识碎片化、耐心打磨技能、解决实际问题是我们的宗旨和追求。 |
|