当前位置: 首页 > news >正文

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

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

#coding=utf-8
import tushare as ts
import pandas as pd
import numpy as np#获取某支股票的历史行情数据
df=ts.get_hist_data(code='600519',start='2001-01-01')
#将互联网上的数据获取并且存储到本地
df.to_csv('./maotai.csv')
#将本地的数据读取
date_path='./maotai.csv'
df2=pd.read_csv(date_path)
#print(df2.info())#需要对读取出的数据做相关的处理
#df2.drop(labels='close',axis=1,inplace=True)
# print(df2)
# print(df2.head())
#查看每一列的数据类型
#print(df2['date'].dtype)
#print(df.head())
df2.set_index('open')
#print(df2.info())
#将date一列转成了时间序列
#print(df2)
df2['date']=pd.to_datetime(df2['date'])
df=df2.set_index('date')
#print(df)
#print(df)
#print(df2.info())
#print(df2.head())
#伪代码:(收盘-开盘)/开盘。0.3
a=df.loc[(df['close']-df['open'])/df['open']>0.03].index
print(a)
#如果对布尔值作为df的行索引,则可以取出true对应的
#然后通过.index取出所需要的时间

2:该股票开盘比前日收盘超出2%的日期

#前日收盘:df['date'].shift(1)

#coding=utf-8
import tushare as ts
import pandas as pd
import numpy as np#获取某支股票的历史行情数据
df=ts.get_hist_data(code='600519',start='2001-01-01')
#将互联网上的数据获取并且存储到本地
df.to_csv('./maotai.csv')
#将本地的数据读取
date_path='./maotai.csv'
df2=pd.read_csv(date_path)
#print(df2.info())# #将date一列转成了时间序列df2['date']=pd.to_datetime(df2['date'])
df=df2.set_index('date')
#伪代码:(开盘-前日收盘)/前日收盘<-0.02
b=df.loc[(df['open']-df['close'].shift(1))/df['close'].shift(1)<-0.02].index
print(b)

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

 #时间切片:df[2010-01:2020-02]

df2['date']=pd.to_datetime(df2['date'])
df=df2.set_index('date')
new_df=df['2021-01':'2023-02']
print(new_df)

#买股票:

  • 找出每月第一天的数据
  • df2['date']=pd.to_datetime(df2['date'])
    df=df2.set_index('date')
    new_df=df['2021-01':'2023-02']
    #找出每月第一行的数据
    new_df=new_df.resample('M').first()
    print(new_df)
    

  • 买入股票花费的总金额
  • #找出每月第一行的数据
    df_monthly=new_df.resample('M').first()
    #计算花费
    cost=df_monthly['open'].sum()*100
    print(cost)

    #卖股票

  • 卖出股票到手的钱

  • 特殊情况:2020年的股票卖不出去(将最后一行切除) df[:-1]

  • #计算卖出去的收益
    df_yearly=new_df.resample('A').last()[:-1]
    #print(df_yearly)
    income=df_yearly['close'].sum()*100
    print(income)

  • 卖出股票到手的钱

  • df_yearly=new_df.resample('A').last()[:-1]
    #print(df_yearly)
    income=df_yearly['open'].sum()*1200
    print(income)

    #最后股价剩余的价值要估算到总收益中

  • #估算2023年2个月还剩多少钱
    lat_money=200*new_df['close'][-1]
    print(lat_money)
    

    #计算最后的收益

  • #算出最后的钱
    Finally=income+lat_money-cost
    print(Finally)

    全部代码展现

  • #coding=utf-8
    import tushare as ts
    import pandas as pd
    import numpy as np#获取某支股票的历史行情数据
    df=ts.get_hist_data(code='600519',start='2001-01-01')
    #将互联网上的数据获取并且存储到本地
    df.to_csv('./maotai.csv')
    #将本地的数据读取
    date_path='./maotai.csv'
    df2=pd.read_csv(date_path)
    #print(df2.info())#需要对读取出的数据做相关的处理
    #df2.drop(labels='close',axis=1,inplace=True)
    # print(df2)
    # print(df2.head())
    #查看每一列的数据类型
    #print(df2['date'].dtype)
    #print(df.head())
    # df2.set_index('open')
    # #print(df2.info())
    # #将date一列转成了时间序列
    # #print(df2)
    df2['date']=pd.to_datetime(df2['date'])
    df=df2.set_index('date')
    #print(df.head(20))
    #print(df.tail())
    new_df=df['2021-01':'2023-02']
    #找出每月第一行的数据
    df_monthly=new_df.resample('M').first()
    #计算花费
    cost=df_monthly['open'].sum()*100
    #print(cost)
    #计算卖出去的收益
    df_yearly=new_df.resample('A').last()[:-1]
    #print(df_yearly)
    income=df_yearly['open'].sum()*1200
    #估算2023年2个月还剩多少钱
    lat_money=200*new_df['close'][-1]
    #print(lat_money)#算出最后的钱
    Finally=income+lat_money-cost
    print(Finally)

http://www.lryc.cn/news/10858.html

相关文章:

  • 数值卡,让数据可视化玩出新花样丨三叠云
  • 有这几个表现可能是认知障碍前兆
  • java面试题-阿里真题详解
  • JSON格式解析关键词搜索API
  • 【Java基础】泛型(二)-泛型的难点:通配符
  • 黑马】后台管理-两个括号的坑
  • 05:进阶篇 - 使用 CTKWidgets
  • 【YOLO V5】代码复现过程
  • 汽车如何实现制动
  • cmake 引入第三方库(头文件目录、库目录、库文件)
  • 插件开发版|Authing 结合 APISIX 实现统一可配置 API 权限网关
  • deepinlinux v20安装rust和tauri并配置vscode开发工具过程
  • 通俗易懂的机器学习——sklearn鸢尾花分类(KNN)
  • 操作系统引论
  • 优质 CS 读博 (PhD) 经验贴汇总
  • SpringCloud学习笔记 - @SentinelResource的fallbackblockHandler配置详解 - sentinel
  • 华为OD机试题 - 静态扫描最优成本(JavaScript)
  • mysql大数据量批量提交
  • IP SAN组网配置
  • 面试7分看能力,3分靠嘴皮,剩下90分就靠这份Java面试八股文
  • api接口如何对接?
  • 毕业2年不到选择跳槽,居然拿到25K的薪资,简直了···
  • Java反序列化漏洞——CommonsCollections3链分析
  • 英文论文(sci)解读复现【NO.5】让RepVGG再次变得更强大:一种量化感知方法
  • hive学习(仅供参考)
  • 新生儿住月子中心20天患败血症 什么是败血症?有哪些危害
  • 2023年美赛赛题A题赛题公布
  • 交互式前端开发最好用的WebGL框架
  • 【Java 面试合集】包装类的缓存问题
  • JAVA PYTHONGOLANG在STR LIST MAP 等数据结构的一些底层设计