使用jupyter-Python进行模拟股票分析

  • tushare财经数据接口包
    • pip install tushare
    • 作用:提供相关指定的财经数据

需求:股票分析

  • 使用tushare包获取某股票的历史行情数据

  • 输出该股票所有收盘比开盘上涨3%以上的日期

  • 输出该股票所有开盘比前日收盘跌幅超过2%的日期

  • 假如我从2015年1月1日开始,每月第一个交易日买入1手股票,每年最后一个交易日卖出所有股票,到今天为止,我的收益如何?

  • 使用tushare包获取某股票的历史行情数据

import pandas as pd
import numpy as np
import tushare as ts

#获取某只股票的历史交易数据
data = ts.get_k_data(code=‘600519’,start=‘2015-01’)
data
在这里插入图片描述

#将获取的股票数据持久化存储到本地文件中
data.to_csv(‘maotai.csv’)

#可以将文件中的数据读取到df
df = pd.read_csv(‘maotai.csv’).drop(columns=‘Unnamed: 0’)
df
在这里插入图片描述

  • 数据预处理
    • 目的:为了便于后期相关需求的分析处理

#将date转换成时间类型
df[‘date’] = pd.to_datetime(df[‘date’])

#将date列作为df的索引
df = df.set_index(‘date’)
df
在这里插入图片描述

  • 输出该股票所有收盘比开盘上涨3%以上的日期
    • (收盘价-开盘价)/ 开盘价 > 0.03

ex = (df[‘close’] - df[‘open’]) / df[‘open’] > 0.03
ret = ex[ex] #获取了ex这个Series中True对应的数据
date = ret.index
date
在这里插入图片描述

  • 输出该股票所有开盘比前日收盘跌幅超过2%的日期
    • (开盘-前日收盘)/ 前日收盘 < -0.02

df[‘close’].shift(1) #shift(1)表示让Series中的元素整体向下移动一位
在这里插入图片描述

ex = (df[‘open’] - df[‘close’].shift(1))/df[‘close’].shift(1) < -0.02
ex #ex表示一个Series
在这里插入图片描述

#取出ex中True对应的数据
ret = ex[ex] #[ex]中的ex表示ex这个Series中存储的数据
ret.index
在这里插入图片描述

  • 输出该股票所有收盘比开盘上涨3%以上的日期
    • (收盘价-开盘价)/ 开盘价 > 0.03

ex = (df[‘close’]-df[‘open’]) / df[‘open’] > 0.03
ex
在这里插入图片描述

#在DataFrame中也是可以使用布尔值充当索引的
ret = df.loc[ex] #将ex中的布尔值作为df的行索引,就可以取出ex中True对应的df的行数据
#在df中提取出来了满足(收盘比开盘上涨3%以上)条件的行数据
ret
在这里插入图片描述

ret.index
在这里插入图片描述

  • 假如张三从2020年1月1日开始,每月第一个交易日买入1手股票,每年最后一个交易日卖出所有股票,到今天为止,张三的收益如何?
    • 规则:基于当天的收盘价售卖股票,当天的开盘价购买股票
    • 一个完整的年需要买入多少次股票呢?
      • 12次,一共购买1200只,单价:当天的开盘价
    • 一个完整的年需要卖出几次股票呢?
      • 1次,一次性卖出1200只股票,单价:当天的收盘价
    • 特殊情况:
      • 最终计算总收益的时候,需要将手里剩余股票的价值计算到总收益中
        • 剩余股票的价值:
          • 剩余股票的数量 * 最后一天的收盘价

new_df = df[‘2020’:] #单独提取出了2020至今的股票数据

#买入股票
#取出每个月第一个交易日对应的行数据
monthly = new_df.resample(‘M’).first() #resample可以根据时间为条件对数据进行取样
#first()表示取出每一个样本的第一行数据
monthly
在这里插入图片描述
在这里插入图片描述

#买入股票的总花费
total_cost = monthly[‘open’].sum() * 100
total_cost
在这里插入图片描述

#卖出股票
yearsly = new_df.resample(‘Y’).last()[0:-1] #取出了每年最后一个交易日对应的行数据
yearsly
在这里插入图片描述

recv = yearsly[‘close’].sum() * 1200
recv
在这里插入图片描述

#注意:2023年没有到卖出股票的时机,因此张三手中会有剩余股票。因此需要将剩余股票的价值也计算到总收益中
#可以使用最近一天的收盘价作为剩余股票的单价
last_price = new_df[‘close’][-1]
last_money = last_price * 600

#计算总收益
last_money + recv - total_cost
在这里插入图片描述

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

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

相关文章

哨兵位、链表的链接

哨兵位&#xff1a; 通俗的话讲就是额外开辟一块空间&#xff0c;指向链表的头部。 合并两个有序链表 已解答 简单 相关标签 相关企业 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&#…

Jupyter R绘图 汉字显示乱码的解决办法

1.Jupyte中&#xff0c;R绘图&#xff0c;汉字显示乱码 2.如何解决&#xff1f; (1)R中安装showtext 登录linux服务器 #R > install.packages(“showtext”) … 出错 (2)退出R,安装freetype-config #apt install libfreetype6-dev 出错 &#xff08;3&#xff09;进入R&…

学习人工智能:Attention Is All You Need-2-Transformer模型;Attention机制;位置编码

3.2 注意力机制Attention 注意力函数可以描述为将查询和一组键值对映射到输出的过程&#xff0c;其中查询、键、值和输出都是向量。输出被计算为值的加权和&#xff0c;其中每个值的权重由查询与相应键的兼容性函数计算得出。 3.2.1 缩放点积注意力 Scaled Dot-Product Attenti…

鸿蒙Harmony应用开发—ArkTS-@AnimatableExtend装饰器:定义可动画属性

AnimatableExtend装饰器用于自定义可动画的属性方法&#xff0c;在这个属性方法中修改组件不可动画的属性。在动画执行过程时&#xff0c;通过逐帧回调函数修改不可动画属性值&#xff0c;让不可动画属性也能实现动画效果。 可动画属性&#xff1a;如果一个属性方法在animation…

无插件网页视频播放器,支持图像绘制(包含方格子、方框等),支持音视频播放、支持录像截图,提供源码下载

前言 本播放器内部采用jessibuca插件接口&#xff0c;支持录像、截图、音视频播放等功能。播放器播放基于ws流&#xff0c;图像绘制操作&#xff1a;1&#xff09;支持绘制方格子&#xff0c;用于监控移动检测画框&#xff1b;2&#xff09;支持绘制不透明方框&#xff0c;用于…

macOS下Java应用的打包和安装程序制作

文章目录 macOS应用程序结构Java应用打包JavaAppLauncherjpackage其它相关JDK命令附录JavaAppLauncher源码链接macOS应用程序结构 macOS通常以dmg或pkg作为软件发行包,安装到/Applications下后,结构比较统一。 info.plist里的CFBundleExecutable字段可以指定入口,如果不指定…

基于JavaWeb+BS架构+SpringBoot+Vue+O2O生鲜食品订购小程序系统的设计和实现

基于JavaWebBS架构SpringBootVueO2O生鲜食品订购小程序系统的设计和实现 文末获取源码Lun文目录前言主要技术系统设计功能截图 文末获取源码 Lun文目录 目 录 摘 要 I Abstract II 1 绪 论 1 1.1课题研究背景及意义 1 1.2研究现状 1 1.3本论文的主要论文结构 3 2系统相关技术…

【工具使用】VScode如何设置中文环境

操作步骤 1.1 安装中文插件 1.2 设置为中文&#xff0c;然后重启 按照插件的使用方法介绍设置中文&#xff1a; 按下“CtrlShiftP”组合键以显示“命令面板”&#xff1a; 输入“dispaly”&#xff0c;选择“Configure Display Language”&#xff1a; 选择“中文简体” …

使用Python和OpenFOAM进行流体力学模拟的基础示例

流体力学模拟通常涉及复杂的数学方程和数值方法&#xff0c;例如计算流体动力学(CFD)。OpenFOAM是一个开源的CFD工具箱&#xff0c;它使用C编写&#xff0c;但可以通过Python脚本进行自动化和定制。 以下是一个简单的示例&#xff0c;展示如何使用Python和OpenFOAM进行流体力学…

【练习】双指针算法思想

&#x1f3a5; 个人主页&#xff1a;Dikz12&#x1f525;个人专栏&#xff1a;Java算法&#x1f4d5;格言&#xff1a;那些在暗处执拗生长的花&#xff0c;终有一日会馥郁传香欢迎大家&#x1f44d;点赞✍评论⭐收藏 目录 1. 移动零 1.1 题目描述 1.2 讲解算法原理 1.3 编…

代码随想录 动态规划-子序列问题-子序列(连续)

目录 674.最长连续递增序列 718.最长重复子数组 53.最大子数组和 674.最长连续递增序列 674. 最长连续递增序列 简单 给定一个未经排序的整数数组&#xff0c;找到最长且 连续递增的子序列&#xff0c;并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r&…

数字孪生底层技术框架

数字孪生是一种将现实世界中的物理实体、过程或系统数字化并映射到计算机模型中的方法。它在数学建模与仿真方面具有重要作用&#xff0c;为了实现数字孪生&#xff0c;以下是一些底层技术框架和方法&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业…

企业网络基础设施物理安全面临全新挑战

企业网络基础设施的物理安全是确保业务连续性和数据完整性的关键组成部分。随着技术的发展和环境的变化&#xff0c;这些基础设施面临着新的挑战。以下是一些主要的挑战和的解决方案 一、机房、仓库、档案馆物理安全事件频发的挑战&#xff1a; 1.电力安全事件&#xff1a;市…

AI智能分析网关V4在养老院视频智能监控场景中的应用

随着科技的快速发展&#xff0c;智能监控技术已经广泛应用于各个领域&#xff0c;尤其在养老院这一特定场景中&#xff0c;智能监控方案更是发挥着不可或缺的作用。尤其是伴随着社会老龄化趋势的加剧&#xff0c;养老院的安全管理问题也日益凸显。为了确保老人的生活安全&#…

没有磁盘整列下的多机分布式存储:使用rysnc+多服务器文件/文件夹内容同步

目录 0.为什么要定时同步 1.程序安装 2.文件夹设置rsync使用 3.使用cron进行定时任务 0.为什么要定时同步 作为科研党&#xff0c;实验室有多个服务器&#xff0c;但是都是分批买的没有上磁盘整列&#xff0c;所以一个服务器上跑的东西并不能同步&#xff0c;有时候挂任务要…

第十二届蓝桥杯省赛CC++ 研究生组-异或数列

solution1&#xff08;通过0%&#xff09; 没看懂怎么是必胜或必败局面(˚ ˃̣̣̥᷄⌓˂̣̣̥᷅ ) #include<iostream> typedef long long ll; const int maxn 200010; ll x[maxn]; int main(){int t, n;ll a, b, turn;scanf("%d", &t);while(t--){…

vue的优缺点有那些 组件常用的有那些?

优点&#xff1a; 组件化开发&#xff0c;提升效率&#xff0c;方便复用&#xff0c;便于协同开发单页面路由易于结合其他的第三方库丰富的api方法轻量高效,虚拟DOMMVVM&#xff0c;数据驱动视图轻量级的框架 缺点&#xff1a; 缺少高阶教程和文档生态环境不如angular和re…

Vscode初建Vue时几个需要注意的问题

首先放图 注意点1.打开文件夹时&#xff0c;可以是VUE2 或者其他&#xff0c;但不能是VUE&#xff0c;会报错 注意点2.终端输入命令“npm init -y" npm init -y -y 的含义&#xff1a;yes的意思&#xff0c;在init的时候省去了敲回车的步骤&#xff0c;生成的默认的packag…

AI智能分析网关V4在非煤矿山安全生产视频智能监管场景中的应用

近年来&#xff0c;全国非煤矿山&#xff08;&#xff08;含金属非金属矿山、尾矿库&#xff0c;以及矿泉水等其他矿山&#xff09;安全生产工作取得明显成效&#xff0c;但安全基础仍然薄弱&#xff0c;事故总量仍然较大&#xff0c;重特大事故尚未得到根本遏制&#xff0c;安…

linux之sed编辑器指令练习

目录 一、sed编辑器 二、sed使用案例 1.1 s命令&#xff08;substitute替换&#xff09; 一、sed编辑器 sed编辑器比交互式编辑器快的多&#xff0c;可以简化数据处理任务,sed编辑器并不会修改文件&#xff0c;只会将修改后的数据&#xff0c;输出。 二、sed使用案例 首先…