杨思清毕设论文-股票数据技术分析软件的设计与实现彭勤科内容摘要:

E M A 1212  当日收市价前一日 ( 21) 2722725E M AE M A 2626  当日收市价前一日 ( 22) DIF 2612 E M AE M AD I F -= ( 23) 9 日的 DIF 平均值 DEA DEA=( 9 日的 DIF 之和)247。 9 ( 24) 柱状线 10 ⑴每日 DIF 与 DEA 的差异,即为 MACD 柱状图。 ⑵把以上计算的 DIF、 DEA 分别标在坐标纸上,并把各日的 DIF、 DEA分别连接,即可求得 MACD 运行曲线。 DIF 为快线, DEA 为慢线。 随机指数( STC) 随机指数,又称 KD 线(英文全名 Stochastics,简称 STC)。 该指标是以指数或股价运行的一定区段内的收盘(指数)价、最低 (指数)价、最高(指数)价计算的一个重要的技术指标。 目前沪深股市是以 9 日为一个区段,以该段内收盘指数、最低指数、最高指数作为计算基础。 首先计算出 RSV 未成熟因子,再取其未成熟因子的 1/3,加上前一天 K 值的 2/3,计算出当天的K 值。 接着取当天 K 值的 1/3,加上前一天 D 值的 2/3,计算出当天的 D 值。 随后按 3K- 2D 计算出当天的 J 值。 m/n天的% KD 线( mn) 计算方法: iRSV 100LmHm LmCRS V ii  -- ( 25) 式中: iC —— 分析起始时间单位(日、周、月、年)的收盘指数(若分析个股采用股价)。 Lm—— 分析时段 m天内的最低指数(或股价)。 Hm—— 分析时段 m天内的最高指数(或股价)。 若是新股第一天上市, Lm 为当日的最低价, Hm 为当日最高价。 iC 为 11 当日的收盘价。 K 值为 RSV 的三日平滑移动平均,而 D 值又为 K 值的三日平滑移动平均。 即: K 值( iK ) i1ii R SV31K32K += - ( 26) 式中: 1iK- —— 起始时间单位的前一时间单位的 K 值。 若起始时间单位前,无 K 值,可令此时的 1iK- = 50,即ii RS V315032K += 。 D 值( iD ) i1ii K31D32D += - ( 27) 式中: 1iD- —— 起始时间单位的前一时间单位的 D 值。 若无 D 值,令 1iD-= 50,即 ii K315032D +=  J 值( iJ ) iii D2K3J -= ( 28) 到此 KDJ 线技术分析的起始时间单位的 K、 D、 J 指标全算出。 接着可以把以上计算的数值标再坐标纸起始时间单位对应的右边位置。 依次类推,可分别依次计算出以后各时间单位的 K、 D、 J 线技术指标,并分别标准在坐标纸上。 注意,如果选 5 月为一时间跨度,在进行从起始月 12 度到第五月逐月计算后,第六月的计算不再考虑起始月度的月 K 线参数,即应从第二月起到第六月进行计算。 第七月的计算不再考虑第二月的参数。 每月的计算仅考虑含本月在内的近期 5 个月的 K 线的参数即可。 其他时间跨度的 KDJ 线技术分析指标的计算与此过程完全一样。 一般认为用 5 或 3 作时间跨度适用于日、周、月、季、年各种 KDJ 线技术指标的计算。 在计算出起始时间单位的 K、 D、 J 线指标后,应将新计算的坐标点,与前面计算的坐标点用不同的颜色分别连接起来。 为醒目和不混乱,如将所有连接的 K 线用灰色,而连接的 D 线用黄色,连接的 J 线用紫色等。 选用何种颜色,由使用者自定。 股票数据的其他分析方法 其它技术分析方法 随着金融学理论、数量统计理论工具的发展和进一步完善,特别是随着信息技术、优化算法的不断发展和创新。 股票分析手段也在不断的推陈出新,日益复杂化、自动化和技术化。 回归技术、灰色系统理论、模式识别、遗传算法、神经网络等等最新的统计、工业工程、生物遗传学技术开始被引入到股票分析之中,使得股票分析在今天得到了最为广泛和深入的研究和发展。 他们在提高股票投资收益、降低股票投资风险方面都取得了新的进展。 文献 [46]曾对某些技术分析方法进行了讨论与研究,并给出了提高盈利 13 概率的一种基于移动平均的技术分析方法 [4],这种方法盈利概率为 40%—60%左右。 基于此,针对香港股市,文献 [7]提出基于 In( Index)关于时间的回归直线的技术分析方法。 这种技术分析方法具有盈利大,而且盈利概率( 100%)也明显占优的特点。 文献 [8]运用灰色系统理论中的 GM(1, 1)方法建立了上海证券指数 65 日平均值运行轨道的最高点 (上轨 )的带残差修正的 GM(1, 1)预测模型。 结论是运用灰色系统 GM(1, 1)对上证指数 65 日移动均线进行建模、预测效果良好,与实际走势相当吻合。 文献 [9]应用模式识别技术进行股票市场的技术分析,文中使用模糊主轴核聚类算法对历史上典型的上涨行情 (牛市 )作聚类分析,发现其特征。 并以此为依据,启发式的自动识别上涨行情,提供最佳建仓和平仓时机的信息指导。 这种技术分析方法既能降低传统技术分析的难度,又具有客观性,而且能在很大程度上充分利用历史数据包含的信息,指导投资者理性投资。 文献 [10]阐述了遗传算法 [11,12]及基于遗传算法 的分类器系统的基本理论,并详细讨论了遗传算法及分类器系统在两种最常用的股票投资技术分析方法 (指标分析和图形分析 )的计算机化中的运用问题。 人工神经网络 (ArtificialNeuralNetwork,简称 ANN)预测方法进行股市预 14 测也取得了一定效果 [13,14]。 由于 ANN 可以逼近最佳刻划样本数据规律的函数,根据股价走势呈高度非线性,且成交价、成交量中包含有大量决定股价变动的内在规律或特点,通过对历史交易数据的学习, ANN 就能刻划这些规律或特点,因此,用它对股票价格走势预 测具有较好的效果。 这种以机器代替人完成一定的逻辑总结工作的方法具有一定客观性 [2]。 符号化的分析方法 将原始数据符号化的分析方法即是 符号数据分析 [15] (Symbolic Data Analysis, 简称 SDA )。 在信息快速采集与积累的现实工作中 , 符号数据分析特别适用于规模巨大、类型复杂的数据集合的知识发掘,如股票交易数据。 针对大量的时间序列股票数据,传统的数据分析方法便无法满足需求。 股票数据符号化的基本思想就是在几个可能值上对股票交易时间序列进行“离散化”,把许多可能值的股票数据 序列变换为仅有几个互不相同值的符号序列。 这是一个“粗粒化” (Coarsegrained)过程,这一过程能够捕获大尺度的特征,从而降低动力学噪声和测量噪声的影响。 然后通过对这些符号的分析也能反映股市发展的方向,从而指导投资。 相关内容在文献 [1618]中可以找到。 15 第三章 系统设计与实现 需求分析 此课题的总系统为股票分析,它包含了基本分析、技术分析及股票数据的符号化分析三个个大的子系统,本文要解决的是构建技术分析子系统,为进一步的符号化分析提供一种统计学上的最基本分析方法。 所以技术分析子系统要实 现连接股票数据库,面向用户显示出股票信息,并由用户主动选择需要分析的股票代码、日期段,程序要能根据用户的选择作出分析,并将结果显示出来。 软件设计 系统结构 本课题是进行股票数据的研究,包括基本分析、技术分析和符号化分析方法等,该系统如图 所示。 而本文的任务是构建出股票技术分析子系统,如图 所示。 它必须包括: ⑴创建股票数据库,为程序提供股票交易行情数据。 ⑵客户端技术分析软件,根据用户所选择的股票代码、日期部分进行技术分析 ,且仅针对 K 线图、 MACD 指标和 STC 指标。 16 图 股票数据分析总系统结构 图 股票技术分析子系统结构 数据模块 数据模型 在 SQL Server 中建立“股票数据库”。 要对股票进行技术分析,就需要股票的交易行情数据,包括股票代码、交易日期、当日开盘价、最高价、最 17 低价、收盘价、成交额和成交量,这对应了表 所示的“个股每日表”。 同时为了便于基本分析,我们也需要存储股票的一些基本信息,如股票代码、股票名称、证券品种、公司地址、发行日期、行业板块、地区板块等信息,这对应了表 所示的“多股信息表”。 每只股票,在进行交 易及休假的时间内会发生很多事件,这些事件在基本分析理论中已经有了详细的讲述,包括各类政策的变化、各种政治因素、行业变动、公司变动等各个方面,由于本文核心内容是技术分析,所以与基本分析相关的事件不做探讨,但为了便于子系统功能上的扩展及分析的完备性,我们还是建立了一个和股票信息相关的“多股信息表”。 表 个股每日表 列名 列数据类型 长度 代码 * Char 10 日期 * nchar 10 开盘价 Float 8 收盘价 Float 8 最高价 Float 8 最低价 Float 8 成交额 Numeric 9 成交量 numeric 9 18 表 多股信息表 列名 列数据类型 长度 名称 Char 10 代码 * Char 10 证券品种 Char 10 发行日期 Datatime 8 公司地址 Nvarchar 50 行业板块 Char 10 地区板块 char 10 表 、表 中的 *号表示主键,其中表 中记录由代码和日期双键共同确定某只股票某日交易行情。 最后得到数据库表的 ER 图,如图 所示。 图中 图 表 ER 图 19 数据导入 股 票交易行情数据来自向日葵网站 载 .sf 格式股票数据,然后用网站上“ 批处理转换工具” 转换成 .txt 文本格式,详细过程参看向日葵网站。 再将 .txt 格式股票数据导入到“股票数据库”中,导入的过程参看 SQL书籍中关于 DTS[19]的部分。 数据检索 SQL Server 中常用数据检索语法 [20]包括了 SELECT 子句、 FROM 子句、WHERE 子句和 ORDER BY 子句等,他们一起构成了检索语句。 检索语句中的检索准则 [21]包括限定操作、布尔运算 和值的范围等内容。 此处给出一个检索实例:根据股票技术分析软件中的实际应用,使用代码和日期两个字段的限定条件来进行检索。 假设要从“个股每日表”中检索出代码、日期、开盘价、收盘价、最高价和最低价六个字段值,并且要求检索出的记录股票代码是 600004,日期介于 20202020 和 20202006 之间,则SQL语句如下: SELECT 代码 , 日期 , 开盘价 , 收盘价 , 最高价 , 最低价 FROM 个股每日表 WHERE (代码 = 600004) AND (日期 BETWEEN 20202020 AND 20202006) 20 执行结果如图 所示。 至于如何增加 SQL语句的灵活性,如动态地输入代码条件或日期条件,以此来提供程序交互性,则由 Visual C++程序通过CRecordset 类来实现,这在以后介绍。 图 多条件的 SQL 语句执行 设置 ODBC 数据源 为了其他应用程序访问 SQL Server 202。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。