python数据分析及可视化(十六)金融量化(金融工具、金融分析、Tushare安装使用、双均线分析)

news2024/9/21 3:32:50

金融介绍

金融就是对现有资源进行重新整合之后,实现价值和利润的等效流通。
比如小明想把手里的资金投资给小李,而小李有好的增值项目但是缺少资金,如果小李的项目创业成功,小明的资金就会增长。

金融工具

在金融市场中可交易的金融资产,主要分为股票、期货、黄金、外汇、基金、债券等。投资本质上就为低价买入,高价卖出。

期货

现货,指现有的物品。比如发电厂需要大量的从煤炭市场去购置煤用来发电,预估煤炭的价钱会增长,发电厂就去大量囤积。一方面自己用来发电,一部分卖给对煤有需求的其他厂商,从而赚取差价。
期货,指规定期限的货物。是以某种大众产品如棉花、大豆、石油等及金融资产如股票、债券等为标的标准化可交易合约。因此,这个标的物可以是某种商品(例如黄金、原油、农产品),也可以是金融工具。
期货是建立在买卖双方对商品未来价值不同期望的基础上,双方对商品的期望值不一样,一方看涨,一方看跌,才能达成期货合约。
比如大量种植玉米,玉米在收割前是每吨2000元,农户预期玉米价钱会降低,在收割前卖给收购厂商,收购厂商对玉米的预期是价格上涨为每吨2050元,厂商就会与农户签订收购下期收购合约。如果收割后价钱上涨,收购厂商就赚取差价。收购厂商对商品的价值是看涨,进行囤货;农户对商品的价值是看跌,提前出货。

黄金

物以稀为贵,黄金稀少,从古至今都是硬通货,尤其是战争年代。就会有人投资黄金,赚取黄金上涨后的差价。早期的美元是跟黄金是挂钩的,一战后美国积累了大量的黄金,占全球存储量的70%, 为促进双方的交易就都以美元为交易的货币,然而黄金的存储量有限,当再需要大量美元的时候,不能再凭空印发美元;如果再发现金矿,黄金的数量增加了就可以再多印发美元。金矿的发现也不容易,就想另外一种方法,把美元和石油挂钩,好比有多少石油就印发多少美元,发动战争就优先占领油矿,石油多了就可以再进行美元的印发,购买其他国家的实体商品,收割其他国家的资产。

外汇

外汇,是货币行政当局(中央银行、货币管理机构、外汇平准基金及财政部)以银行存款、财政部库券、长短期政府证券等形式保有的在国际收支逆差时可以使用的债权。
汇指的是货币兑换的汇率,比如美元和人民币之间兑换的汇率。有人就会利用汇率之间的变化,赚取汇率差额产生的资金。汇率之间的波动很小,个人去购买赚取的差价很小,大都是贸易公司或者行政当局购买来抵消外汇波动对经济的影响,保持国内经济的平稳。美元的印制增多了,市场上流通的美元就会增多,对美元的汇率就会发生变化。

投资基金

投资基金是通过公开发售基金份额募集资本,然后投资于证券的机构。投资基金由基金管理人管理,基金托管人托管,以资产组合方式进行证券投资活动,为基金份额持有人的利益服务。
私自的募集资金是违法的,没有保障,个人拿到大量资金后难免会据为己有。
基金管理人会不断的调整投资的组合方式和投资比例,比如募集到的资金90%进行股票的投资,3%投资银行存款,2%购买债券,剩余的做其他的投资。股价的变动会影响基金的收益,管理人会不断的调整投资不同股票的比例和组合方式。

股票

股票是股份公司发给出资人的一种凭证,股票持有者就是股份公司的股东。投资股票赚取上涨的差额,比如8元一股购买,上涨为20一股,卖出就可以赚取差价。
股票作为出资证明、证明股东身份、股份占比比较大的股东可以对公司经营发表意见,也可以参与公司分红、交易获利。
上市/IPO:企业通过证券交易所公开向社会增发股票以筹募资金。
如果公司上市,别人购买股票,外部资本流入过多,造成内部股份的稀释,公司的决策就会受到外部人员的影响。如国内的华为公司未上市,支付宝的普及量已经到百姓的正常的生活,政府部门暂停蚂蚁金融的上市,避免外部资金过多的流入影响公司的决策和走向,国家对大型公司的上市是有要求的。
按照股票的分类,可以分为蓝筹股、成长股、ST股。蓝筹股是指公司股价的增长比较稳定,没有太大的波动,适合投资理念比较保守的人购买;成长股是未来有成长空间,发展潜力比较大的公司的股票;ST股指的是公司内部出现财政报告问题,公司的股价和资金不正常,有可能会被退市的公司。
按照上市地区进行分类:
A股:中国大陆上市,人民币认购买卖,北京、上海、深圳交易所;
B股:中国大陆上市,外币认购买卖;
H股:中国香港上市,交易规则不一样;
N股:美国纽约上市;
S股:新加坡上市
H股、N股、S股不受政府控制,波动比较大,增长下跌的幅度比较大;A股受政府控制的,不至于出现大幅度的波动。
股票市场的构成由,上市公司(募集资金);证监会(监视规范股票市场,避免恶意私自操作股价)、证券业协会(规范行业颁发的上岗职业资格证书)、交易所(买卖股票的场所);证券中介机构。
上海证券交易所,只有一个主板(沪指); 深圳证券交易所有主板:深成指(深成指500,有大型成熟企业)、中小板:经营规模小(中小版指)、创业板:尚处于成长期的创业企业(创业板指)
影响股票的因素:公司自身的因素(自己的经营、负面新闻等决定)、行业因素(相关行业的影响,如煤的上涨,成本增长导致利润变低)、市场因素(整个市场的影响,国内有政府的宏观调控使得影响变化不大)、政治因素(大前提,支持国家的政策;国家发展的规划和调整)、经济因素(经济、金融市场)、心理因素(投资者唯一能控制的,保持平常的心态)。
A股的买卖:
● 股票交易日:周一至周五(非法定节假日和交易所休市日),所以对金融和股票进行数据分析时,时间数据是不连续的。
● 交易时间
○ 9.15-9.25开盘集合竞价时间
○ 9.30-11.30前市,连续竞价时间
○ 13:00-15:00后市,连续竞价时间
○ 14:57-15:00深交所收盘集合竞价时间

金融分析

基本面分析

行业分析;公司分析(财务数据、业绩报告等,只能在这个层次面进行分析);宏观经济面分析(国家的财政政策、货币政策等)

技术面分析

K线

类似于箱线图。红色代表涨,绿色代表跌,在国外是反过来的。
在这里插入图片描述
红色箱线图中线的最顶端是当日股票的最高点,最底端是当日股票的最低点,箱子的最低处是开盘价,最高处是收盘价;绿色箱线图中箱子的最高处和最底处刚好相反。K线图分为日K、周K、月K、季K、年K,如百度的K线图,下方有区域缩放配置项,利用的是Echart组件。
在这里插入图片描述

MA(均线,moving,avg)

均线为算数移动平均线,MA5是以5天为一个间隔,比如5号的MA5值就为1-5号的值相加除以5;6号的MA5值为2-6号的值相加除以5;7号的为3-7号的平均值。
常见的是时间周期,MA5、10分别指的是5天、10天的均线为短期移动平均线,也称之为日均线指标;30-60天的为中期移动平均线,称之为季均线指标;120-240天为长期移动平均线,称之为年均线指标。

了解内容

MACD:指数平滑移动平均线;KDJ:随机指标;RSI;BOLL

金融量化投资

量化交易可以使交易效率比传统交易提高百倍。量化交易参考的数据可以是很多年前的数据。早期量化交易没有普及的时候,很多交易人员或者擅长投资的人通过大脑分析当前市场的情况和变化趋势,这就需要这类人员需要丰富的行业阅历,人脑记忆有限,不可能把所有的情况都分析出来,这时就需要做量化交易,根据以往的数据(交易情况),分析适合投资的时机,通过代码实现,进行批量的操作。 比如设置低于正常价格的20%就可以直接买入,高于20%直接卖出。

量化交易

金融量化分析主要是指以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据当中选出能够带来超额收益的多种“大概率”事件以此来指定策略。
主要就是以下几步:
● 灵光乍现,突然间的思维
● 细化策略,分批投入
● 策略转程序,制定号策略,转化成程序自动实现
● 检验策略结果
○ 回测,重新测试策略的效果
○ 模拟交易,投资策略在回测过程中能带来多少收益
● 实盘交易,在理想的情况下运行一下,效果好的话再进行实盘交易

量化交易的价值

● 避免主观情绪、人性弱点和认知偏差,选择更加客观,不受主观意识影响,如买了就想赶紧卖掉,对事物了解不够出现片面的偏差。
● 能同时包括多角度的观察和多层次的模型,要看公司近几年的财政报告收入等方面。
● 及时跟踪市场变化,不断发现新的统计模型,寻找交易机会
● 在决定投资策略后,能通过回测验证其效果。

Tushare

Tushare pro是一个python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工到数据存储的过程(背后其实为爬虫),能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。考虑到Python pandas包在金融量化分析中体现出的优势,Tushare返回的绝大部分的数据格式都是pandas DataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。

Tushare安装

1.pip install tushare
2.访问https://pypi.org/project/tushare/   进行下载安装

学习文档:https://tushare.pro/ ,在文档中进行注册,使用个人主页的接口TOKEN ,在编写代码的时候进行数据的获取和调用。

Tushare使用

获取五粮液股票历史行情数据

对股票的数据进行分析,先建立接口,从学习文档中复制 接口TOKEN的数据,建立获取股票数据的链接,上海证券交易所后缀为.SH,深圳证券交易所后缀为.SZ,北京证券交易所的后缀为.BJ,香港证券交易所的后缀为.HK。
获取五粮液股票历史行情数据,不写start_date参数则为所有的日期。
在这里插入图片描述
不用再去写爬虫程序,直接利用财经数据接口包就可以获取数据,1月1-3日为假期没有开市,所以数据从2010年1月4日开始的。parse_dates表示将某一列设置为 时间类型,在此处trade_date除了作为索引,还要同时为时间类型。
在这里插入图片描述
只保留需要开盘,收盘,最高,最低值列。
在这里插入图片描述
输出该股票收盘比开盘上涨3%以上的日期。
在这里插入图片描述
输出该股票开盘比收盘跌幅2%以上的日期;输出该股票开盘比昨日收盘跌幅2%以上的日期。
在这里插入图片描述

每月1日买入,年底最后一个交易日卖出,计算收益

从2010年1月1日开始,每月第一个交易日买入1手(100股)股票,每年最后一个交易日卖出所有股票,计算到2021年年底,收益的情况。
在这里插入图片描述
对数据进行重新采样,调整采集频率为每月一次,计算卖股票的花费。
在这里插入图片描述
对数据进行重新采样,取每年的最后一天,计算股票的售价
在这里插入图片描述
计算收益值。

双均线分析

对于每一个交易日,都可以计算出前N天的移动平均值,然后把这些移动平均值连起来,成为一条线,就叫做N日移动平均线。移动平均线常用:5天,10天,30天,60天,120天和240天的指标,也即MA5,MA10等。
● 5天和10天的是短线操作的参照指标,称做日均线指标;
● 30天和60天的是中期均线指标,称做季均线指标;
● 120天和240天的是长期均线指标,称做年均线指标。

黄金交叉

短期均线上穿长期均线,为买入信号,对应的日期就要买入。一般比较MA5和MA30的值,图中的比较是MA10相对于MA5为长期。
在这里插入图片描述

死亡交叉

短期均线下穿长期均线,为卖出信号,对应的日期就要卖出。
在这里插入图片描述
找到两条线的交叉点来进行买入和卖出。

双均线分析练习

  1. 使用tushare包获取某股票的历史行情数据
  2. 使用tushare包计算该股票历史数据的5日均线和30日均线
  3. 使用matplotlib包可视化历史数据的收盘价和两条均线
  4. 分析输出所有金叉日期和死叉日期
  5. 假如我从2010年1月1日开始,初始资金为10W,金叉尽量买入,死叉全部卖出,则到今天为止。我的炒股收益率如何?

实现步骤如下:
在这里插入图片描述
获取到数据后 要及时进行保存,避免数据发生变化。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/61866.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

时序数据库基本概念学习

目录1、时序数据1.1 定义1.2 数学模型1.3 数据特点2、存储优化3、存储原理4、时序数据模型4.1 基于标签(tag-value)4.2 基于树形(tree schema)1、时序数据 1.1 定义 时序数据就是一串按时间维度索引的数据,这类数据描…

C++11闭包函数的几种实现方法

什么是闭包函数 函数就是对传入的一组参数进行运算的行为,闭包函数就是有状态的函数,在参与运算时,除了传入的参数外,还可以对上下文的状态进行运算。类函数运行时就是典型的闭包函数,类函数运行起来后其对象就是状态…

Spring - @PostConstruct 源码解析

文章目录Prejavax.annotation.PostConstruct 注解源码解析扩展示例Pre Spring Boot - 扩展接口一览 javax.annotation.PostConstruct 注解 Documented Retention (RUNTIME) Target(METHOD) public interface PostConstruct { }严格意义上来说这个并不算一个扩展点&#xff0c…

[附源码]计算机毕业设计校园订餐管理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

文献阅读总结(4)Graph convolution machine for context-aware recommender system

上下文感知的图卷积推荐系统 推荐方面的最新进展表明,可以通过在用户-项目交互图上执行图卷积来学习更好的用户和项目表示,然而,该方法在协同过滤(CF)的场景中有一定的局限性,在这种场景中交互上下文是不可用的。 在这项工作中&…

python关联规则学习:FP-Growth算法对药品进行“菜篮子”分析

产品可以根据销售者进行分类 在Evolution上,有一些顶级类别(“药品”,“数字商品”,“欺诈相关”等)细分为特定于产品的页面。每个页面包含不同供应商的几个列表。 最近我们被客户要求撰写关于关联规则的研究报告&am…

字符串的扩展

字符串解读 es6加强了对Unicode 的支持,允许\uxxxx的形式展现一个字符,例如: console.log(\u0061); // 打印 a\u后面的为字符的 Unicode 码点 \u 后面4位 xxxx 但是这种写法只识别 \u0000 到 \UFFFF 之间的字符,超出需要使用两…

第十七章 管理组件库的pull request

一个好的项目很少会由一个人来独立完成。即使你完成了所有功能实现,也需要有人给你 Review 和提建议、找 Bug。比如添加新的组件、完善文档、添加单元测试、提出改进意见。 这节课我们就介绍一下如何参与开源社区的代码贡献。对于任何一个开源项目,我们…

map容器/multimap容器

目录 1.map基本概念 简介 本质 优点 map和multimap区别 2.map构造和赋值 功能描述: 函数原型 3.map大小和交换 功能描述 函数原型 4 map插入和删除 功能描述 函数原型 5. map查找和统计 功能描述 函数原型 6 map容器排序 学习目标 主要技术点 1.map基本概念…

web入门-爆破

文章目录web21web22web23python脚本php脚本web24web25web26web27web28web21 进入网站,提示要登陆,妥爆破 抓包 注意到最下行的base64编码 发现就是刚刚输入的账号密码 因此这里就是要选择爆破的地方了 发给inruder,添加爆破位 载入题目给…

【坚持不懈的每日一题——力扣篇】1774. 最接近目标价格的甜点成本(中等)-- dfs / dp

GitHub同步更新(已分类):Data_Structure_And_Algorithm-Review 公众号:URLeisure 的复习仓库 公众号二维码见文末 以下是本篇文章正文内容,下面案例可供参考。 一、题目描述 力扣今天推的每日一题是道中等题 。 示例…

qt人员管理模块(模块化程序)功能块复制直接使用不冲突

一、前言 qt对人员管理部分个人总结的模块化程序,直接按照步骤复制粘贴程序,直接实现人员管理功能,无需花费脑筋在理清各个思路,适合快速编写组装程序 二、环境 windows qt5.7 sqlite3 三、正文 思来想去大半天,…

JS快速入门

一、JS介绍 JavaScript (简称JS),是一门跨平台、面向对象的脚本语言(弱类型语言),而Java语言也是跨平台的、面向对象的语言,只不过Java是编译语言,是需要编译成字节码文件才能运行的…

自定义RBAC(1)

您好,我是湘王,这是我的CSDN博客,欢迎您来,欢迎您再来~ 在对Spring Security稍做了解之后,可以知道,Spring Security其实只是一个实现认证授权的框架,封装了很多实现细节。但也有一些…

【Linux网络编程】服务端编程初体验

文章目录前言服务端是啥、有什么特点核心函数socket的简介服务器编程客户端代码The End前言 在上节课(Linux网络编程初体验)中我们实现了连接bilibili的功能,并获取其html源码 如图所示. 今天我们要自己编写个服务端来服务我们的客户端 提示:以下是本篇…

SGI STL 二级空间配置源码刨析

文章目录内存分配第二级配置器空闲链表的设计内存申请代码内存释放代码注意内存分配 当我们new一个对象时,实际做了两件事情: 使用malloc申请了一块内存。执行构造函数。 在SGI中,这两步独立出了两个函数:allocate申请内存&…

年产20吨鸡枞菌产品的生产工艺设计(lunwen+课题登记表+cad图纸)

目录 摘 要 1 Abstract 2 一、设计任务和内容 4 1.1 设计题目 4 1.2 设计原始数据 4 二、设计说明 5 2.1 全厂总平面布置 5 2.1.1 原料厂及堆场 5 2.1.2 生产区 5 2.1.3 厂前区 6 2.1.4 动力区 6 2.1.5 辅助车间 6 2.1.6 仓库区 6 2.2 三废的处理及回收 6 2.3 车间布置说明 6 三…

Request和Response基础知识入门

文章目录1,Request和Response的概述2,Request对象2.1 Request继承体系2.2 Request获取请求数据2.2.1 获取请求行数据2.2.2 获取请求头数据2.2.3 获取请求体数据2.2.4 获取请求参数的通用方式2.3 IDEA快速创建Servlet2.4 请求参数中文乱码问题2.4.1 POST请…

【Unity3D】绘制物体表面三角形网格

1 仅绘制三角形网格 1)创建游戏对象 创建一个空对象,重命名为 Grid,并在其下添加需要绘制网格的对象,如下: 场景显示如下: 2)添加脚本组件 GridController.cs using System; using UnityEngin…

JavaWeb_第4章_RequestResponse

JavaWeb_第4章_Request&Response 文章目录JavaWeb_第4章_Request&Response1,Request和Response的概述2,Request对象2.1 Request继承体系2.2 Request获取请求数据2.2.1 获取请求行数据2.2.2 获取请求头数据2.2.3 获取请求体数据2.2.4 获取请求参数…