- A+
菜鸟独白
最近国际金融动荡,股市起起伏伏,前几天黄金股开始异动,涨幅非常凶猛!但是到底买哪个黄金股票呢,不如我们自己动手分析一下股票的详细数据,只要50行搞定!
1.三大黄金股票
随便打开一个券商的app,我们看一下目前比较猛的三大黄金股票:中金黄金,西部黄金,山东黄金。到底选哪一个好的,每个人都想今天买股票下单,明天涨停,但是股市有一句俗语,“一平一赢八亏损”!想在股市里面赚钱,不仅需要耐心,还需要技术!二者缺一不可,我们先数据分析一下:
2.获取三大股票的数据
我们可以自己去一些股票网站爬取,也可以用一些开放的接口库比如tushare库,基本上玩量化的都会用这个库,非常方便!
我们通过API 可以一下子获取三大黄金股票的历史交易详细数据,只需要输入起始时间和结束时间,我们这里去2017-1-1/2018-3-23的数据.
3.拿到数据简单清洗
因为是通过API获取,数据其实已经帮我们清洗过了,因为它的数据非常详细:
-
date:日期
-
open:开盘价
-
high:最高价
-
close:收盘价
-
low:最低价
-
volume:成交量
-
price_change:价格变动
-
p_change:涨跌幅
-
ma5:5日均价
-
ma10:10日均价
-
ma20:20日均价
-
v_ma5:5日均量
-
v_ma10:10日均量
-
v_ma20:20日均量
-
turnover:换手率[注:指数无此项]
我们这里简单粗暴的用收盘价,涨跌幅和成交量,这3个维度!尤其是涨跌幅度,可以快速的反映出这3大黄金股内在特性。
我们看一下清洗完成的3个黄金股票的1年零3个月的涨幅情况,一共有298个交易日,但是西部黄金有缺失数据,只有188个交易日,中间有几个月的停牌!
4.到底买一个股票呢
用数据可视化是非常好的方法,帮我们探索和追踪数据集的内部秘密,我们马上来可视化一下,简单用3幅图示例一下:
1). 看一下月线图:
最近一个月西部黄金非常猛,一个月的涨幅达到了33%,相当厉害了,要知道上证指数3月份是跌了-3点几!上面的条形图虽然很好,但是无法反映哪个股票比较活跃,那个比较保守!
2).分布图
纵观整个1年多的交易,很明显西部黄金非常活跃,震幅非常大,而山东黄金相对要稳定一些。
3).趋势图看
从趋势图看在春节之后,黄金周线开始趋于平和,西部黄金一直是在三大黄金股票里面扮演最活跃的角色,3/18开始异动,一周的涨幅达到了20%。
4).涨跌概率VS幅度
经过前面几步,我们大致可以分析得出,如果是一个积进的投资者可以买西部黄金,如果是稳健型的可以买山东黄金!但是能否再进一步呢,我统计了这三只股票的涨跌的概率,以及涨幅的幅度,发现下面这个小秘密:
三大股票,涨的概率:[46.9%, 49.2%, 47.7%],跌的概率:[53.1%, 50.8%, 52.3%],三者很接近,步调一致,而涨跌的比例也差不多5/5开!那么我们看一下如果都在涨的情况下,西部赚的钱是中金的近1倍,而下跌的时候中金比西部要少亏40%,这就是暗示我们一个交易策略,如果想知道,后台输入:输入:黄金股。也欢迎你留言交流你的量化投资策略。
综上所说,几十行代码分析,就可以非常方便的帮我们挑选股票!黄金是用来避险的,当市场情绪波动的时候,可以买一些黄金股来做平衡,进可攻退可守!
当然上面只是从一个非常小的视角去分析,更多的量化技巧可以参考文末的推荐阅读!
文章结束给大家带来福利了!开放Python书籍:一本短小精悍的初学者入门指南
如何快速熟悉 Python 编程一直是很多初学者的疑问,我们经常考虑要不要系统地从头开始啃 Python 教程,但这种方法不仅非常枯燥且很难坚持。因此,对于很多入门读者,更好的方式是学习基础的 Python 编程,然后在实践中完善代码技巧。文章结尾介绍一本非常精炼的 Python 免费书籍,它不仅有基础知识,同时每一章节还有非常多的练习与源代码。
该书是使用实践方法教授基础的 Python 编程语言。其方法相当基础:在简要介绍每个主题之后,读者要解答练习题来巩固知识点。这些练习题都是非常经典的任务,它们可以让我们在短时间内熟悉 Python 的使用。
本书在第二章介绍了 Python 在各种操作系统上的安装并依次介绍了最基本的数据结构、数值和字符串、函数和模块、循环、字典和最后的类与目标。该书每一章都有非常多的配套练习题,且整本书非常短小精悍(22 页)。在该 GitHub 项目的发布页中,作者提供了 PDF 和 Epub 两种阅读版本和源代码。
目录
1 前言
2 安装
2.1 Windows 上的安装
2.2 macOS 上的安装
2.3 Linux 上的安装
3 基本数据类型
3.1 数值型习题
3.2 字符串型习题
3.3 列表型习题
4 模块和函数
4.1 数学模块习题
4.2 函数习题
4.3 递归函数
4.4 递归函数习题
5 迭代和循环
5.1 循环习题
5.2 while 循环习题
6 字典
6.1 字典习题
6.2 子字典习题
7 类
7.1 类习题
7.2 类继承
7.3 类继承习题
Python 的安装其实非常简单,方法也非常多,本书介绍的安装都是不使用 pip 等包管理工具的方法,其它方法还可以安装 Anaconda 等集成开发环境。
第三章介绍了基本的数据类型与数据结构,如下展示了字符串与列表的基本使用:
>>>"Hello"∗3
’HelloHelloHello’
字符串执行乘积运算可以复制多次,以下展示了列表的简单索引方法。
>>> l =[’a’,’b’,’c’,’d’,’e’]
>>> l[1:3]
[’b’,’c’]
第四章介绍了基本的模块与函数。首先在机器学习中,模块的导入与调用时非常重要的,因为很多时候科学计算库与模型框架能节省很多时间。以下简单地导入了一个数学模块:
>>>import math>>> math.cos(0.0)1.0>>> math.radians(275)4.799655442984406
当我们重复使用一个过程时,我们可以将这个过程定义为函数,以在主体函数中重复调用。
>>> def add_one (val): pr int("Function got value", val)return val +1>>> value = add_one(1)Function got value 1>>> value2
第五章介绍了迭代与循环,这是在训练过程中不可缺少的部分。这一部分主要描述了 for 循环与 while 循环,其中 for 循环经常用于列表循环。
>>>for value in [0,1,2,3,4,5]: print ( value ∗ value ) 0 1 4 9 16 25 #另一种列表循环 >>> mylist =[1,5,7] >>>for i in range(len (mylist)): pr int("Index :", i," Value :", mylist[i]) Index:0Value:1 Index:1Value:5 Index:2Value:7
根据个人经验,我们感觉 while 循环在机器学习中使用得比 for 循环少。大家在迭代训练训练或处理列表时基本上都是使用的 for 循环,以下展示了简单的 while 循环。
>>> n =4>>>while n >0: pr int( n ) n = n−14321
第 6 章介绍了字典,它在机器学习中是非常重要的数据结构。例如我们在 TensorFlow 中使用占位符定义输入数据,那么我们就需要使用字典馈送输入数据与对应的标注。
ages ={"Peter":10,"Isabel":11,"Anna":9,"Thomas":10,"Bob":10,"Joseph":11,"Maria":12,"Gabriel":10,}>>> print (ages["Peter"])10
最后一章介绍了面向对象编程的基础,即类和对象。在机器学习中,使用类来定义模型是非常常见的方法,如果希望简单的看懂模型源代码,那么类与对象的知识就必不可少了。
class Person: def __init__(self, name, age): self.name = name self.age = age def greet(self): print("Hello, my name is %s!" % self.name)>> a = Person("Peter", 20)>>> b = Person("Anna", 19)>>> a.greet()Hello, my name is Peter!>>> b.greet()Hello, my name is Anna!>>> print(a.age) 20
感谢阅读,如果我的分享对你有帮助,还请多多转发和收藏,关注菜鸟学Python头条号,分享更多知识。