python数据分析作业代写,python作业代写,python程序代写,python编程代写
2020-2021 春季学期python程序设计 II 大作业,python作业代写,python代写
一、实验目标
1. 熟练掌握使用 C++语言进行面向对象编程的方法和技术。 2. 初步体验大数据处理的问题、挑战和基础算法等。
二、实验描述
给定大规模数据集,包含美国股市和中国股市的每日行情数据,编写 C++程序完成要 求的数据处理、分析和可视化等任务。
1. 数据集:
(1)美国股市历史行情数据 all_us_stock_daily.csv:11.9 GB (12,791,155,145 字节), 198,855,448 条记录(行)。每行记录是关于美国股市中某股票在某日的交易行情数据,包 含用逗号分隔开的 8 列信息,说明如下表所示:
列名
类型
描述
示例
Date
datetime
交易日期
2013-12-10
Symbol
string
股票代码
AISA.JK
Open
float
开盘价
1420.0
High
float
最高价
1440.0
Low
float
最低价
1420.0
Close
float
收盘价
1430.0
Adj Close
float
复权后的收盘价
1424.19812
Volume
float
成交量
11394000.0
数据示例:
...... 2013-11-11,AISA.JK,1350.0,1350.0,1330.0,1330.0,1324.60376,1716000.0 2013-11-12,AISA.JK,1340.0,1350.0,1310.0,1330.0,1324.60376,4837000.0 2013-11-13,AISA.JK,1320.0,1330.0,1280.0,1300.0,1294.725586,6924000.0 2013-11-14,AISA.JK,1300.0,1330.0,1300.0,1310.0,1304.684937,3056500.0 2013-11-15,AISA.JK,1330.0,1340.0,1310.0,1320.0,1314.644409,1219500.0 2013-11-18,AISA.JK,1330.0,1360.0,1320.0,1350.0,1344.522705,4169500.0 2013-11-19,AISA.JK,1360.0,1400.0,1350.0,1390.0,1384.360352,18771000.0 2013-11-20,AISA.JK,1400.0,1420.0,1390.0,1410.0,1404.279175,16025000.0 2013-11-21,AISA.JK,1400.0,1410.0,1380.0,1400.0,1394.319824,22061000.0 2013-11-22,AISA.JK,1400.0,1400.0,1380.0,1390.0,1384.360352,10585500.0 2013-11-25,AISA.JK,1390.0,1430.0,1390.0,1410.0,1404.279175,17370000.0 2013-11-26,AISA.JK,1420.0,1440.0,1390.0,1400.0,1394.319824,9368500.0 2013-11-27,AISA.JK,1400.0,1410.0,1400.0,1400.0,1394.319824,2316500.0 2013-11-28,AISA.JK,1400.0,1410.0,1400.0,1400.0,1394.319824,6039000.0 2013-11-29,AISA.JK,1400.0,1410.0,1400.0,1400.0,1394.319824,3234000.0 ......
(2)中国股市历史行情数据 all_zh_stock_daily.csv:868 MB (910,323,100 字节), 10,788,819 条记录(行),每行记录是关于中国股市中某股票在某日的交易行情数据,包含 用逗号分隔开的 9 列信息,说明如下表所示:
列名
类型
描述
示例
date
datetime
交易日期
2006-04-20
symbol
string
股票代码
sh600004
open
float
开盘价
2.94
high
float
最高价
2.94
low
float
最低价
2.88
close
float
收盘价
2.89
volume
float
成交量
7889751.0
outstanding_share
float
流动股本
476000000.0
turnover
float
换手率
=
成交量/
流动股本
0.01657510714285714
数据示例:
...... 2006-04-07,sh600004,3.01,3.02,2.95,2.97,4990932.0,476000000.0,0.01048515126050 4201 2006-04-10,sh600004,2.96,3.01,2.93,3.0,9397461.0,476000000.0,0.019742565126050 42 2006-04-11,sh600004,3.0,3.07,3.0,3.04,11665241.0,476000000.0,0.024506808823529 413 2006-04-12,sh600004,3.03,3.05,3.0,3.01,7258373.0,476000000.0,0.015248682773109 245 2006-04-13,sh600004,3.01,3.04,2.95,2.96,4800957.0,476000000.0,0.01008604411764 706 2006-04-14,sh600004,2.95,3.0,2.95,2.99,3881573.0,476000000.0,0.008154565126050 421 2006-04-17,sh600004,2.98,3.0,2.96,3.0,4553116.0,476000000.0,0.0095653697478991 6 2006-04-18,sh600004,3.0,3.0,2.95,2.97,4601889.0,476000000.0,0.0096678340336134 46 2006-04-19,sh600004,2.96,2.99,2.92,2.94,6649499.0,476000000.0,0.01396953571428 5714 2006-04-20,sh600004,2.94,2.94,2.88,2.89,7889751.0,476000000.0,0.01657510714285 714 2006-04-21,sh600004,2.89,2.91,2.85,2.91,8583388.0,476000000.0,0.01803232773109 2437 2006-04-24,sh600004,2.9,2.9,2.8,2.8,7811603.0,476000000.0,0.016410930672268908 2006-04-25,sh600004,2.79,2.89,2.77,2.81,4784060.0,476000000.0,0.01005054621848 7395 2006-04-26,sh600004,2.81,2.88,2.8,2.87,5244592.0,476000000.0,0.011018050420168 067 2006-04-27,sh600004,2.86,2.87,2.82,2.85,4587654.0,476000000.0,0.00963792857142 8572
......
2. 计算涨跌额和涨跌幅: 计算每只股票每日的涨跌额和涨跌幅。计算公式如下:
涨跌额 = 今日收盘价 – 昨日收盘价 涨跌幅 = (涨跌额 / 昨日收盘价)* 100%
将计算出的涨跌额和涨跌幅添加到原来的数据集中,即新增两列,存成文件。
3. 外排序:
将每日股票行情数据按照涨跌幅从大到小排列,日期由近及远。即对数据集按照日期和
涨跌幅两列进行降序排列,先排日期,最靠近现在的日期排在最前;再对同一日内的所有股 票行情按照涨跌幅的降序排列。
4. 计算夏普比率:
计算每只股票每年内涨跌幅的平均值和标准差,这里视为股票的年平均收益和标准差, 用年平均收益除以标准差计算出该股票该年的夏普比率。
5. 输出某月单日涨跌幅最大的 k 条股票交易数据:
对某一个指定的单月份的数据(已划分好的单月份数据的外部存储),进行外部排序。 排序的关键字为涨跌幅 的绝对值,按降序排序。指定单月份后(例如 2020 年 06 月),访问 读取并排序单月份数据(如 2020-06.csv),单日涨跌幅最大的 k 条股票交易数据。严格限 制 内 存 大 小 ( 最 多 使 用 1 0 M 内 存 空 间 ), 通 过 检 查 W i n d o w s 任 务 管 理 器 的 监 控 内 存 占 用 并 测 试。
6. 可视化:
任意选择某时间段(365 天)内,夏普比例最高的 10 只股票,使用 QT 和外部库画出他
们在指定期间(1 年)的日 K 线图。 7. 扩展内容(加分项)
系统适应中美两个数据集,可以形成中美股市的涨跌联合分析。 增加对股票信息可视化的拓展功能,添加更多股票量化交易相关的指标展示。
三、提交内容
大作业的提交包括三类文件:大作业实验报告、短视频系统解说、程序源代码。各类文 件包含内容如下:
1. 大作业实验报告: 基本内容包括实验设置、实验过程、实验结果、分析比较和讨论 等。报告中具体内容要有系统设计概要、系统流程图、UML 类图、功能实现的思路、程序开 发迭代过程、面向对象相关特性在自己代码中的具体体现、实验结果、实验结果分析(大数 据)、拓展功能、讨论等。
2. 短视频系统解说:自己录制一个电脑端展示自己系统的短视频,一边演示系统,一 边解说系统功能。解说采用语音形式,解说中要有对具体技术实现的说明。演示系统功能的 过程,要全面。短视频时间长度不超过 5 分钟。
3. 程序源代码:以工程文件形式提交,源码中要有足够清晰的注释,要以工程文件形 式体现(包含多个类和资源), 实现代码中要有面向对象的三大特性的具体体现,要有课程 讲解中的具体要点的体现(关键字包括:const,static, 构造函数,析构函数,多类继承,友 元函数,多态,类的组合,复制构造等)。
