数据分析--01股票分析

文章目录

需求:股票分析

  • 使用tushare包获取某股票的历史行情数据。
  • 输出该股票所有收盘比开盘上涨3%以上的日期。
  • 输出该股票所有开盘比前日收盘跌幅超过2%的日期。
  • 假如我从2010年1月1日开始,每月第一个交易日买入1手股票,每年最后一个交易日卖出所有股票,到今天为止,我的收益如何?

import tushare as ts
import pandas as pd
from pandas import DataFrame,Series
import numpy as np
df=ts.get_k_data(code='600519',start='2000-01-01')
# 将DataFrame 存储到csv文件中
df.to_csv('./maotai1.csv')
df

df=pd.read_csv('maotai.csv')

# 删除 无用的列
df.drop(['Unnamed: 0'],axis=1,inplace=True)
# 先转为时间 再设置索引 如果是先设置索引再转时间就报错
df['date'] =pd.to_datetime(df['date'])

df=df.set_index('date')
# 1 输出该股票所有收盘比开盘上涨3%以上的日期。
# 取出所有为Ture的索引
raise_1=df.loc[(df['close']-df['open'])/df['open']>0.03].index  
raise_1  


# 2.输出该股票所有开盘比前日收盘跌幅超过2%的日期。
data=df
# 取出某一列或者某几列 上下或者左右移动 
data['close']=data['close'].shift(periods=1,axis=0)

data.loc[((data['open']-data['close'])/data['close']<-0.02)].index


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

# 收入-支出

df=pd.read_csv('maotai.csv')

# 删除 无用的列
df.drop(['Unnamed: 0'],axis=1,inplace=True)
# 先转为时间 再设置索引 如果是先设置索引再转时间就报错
df['date'] =pd.to_datetime(df['date'])

df=df.set_index('date')

# 筛选出数据
df=df.loc['2010-01':'2021-12']
# 购买的价格
buy_price=df['open'].resample('M').first().sum()*100
# 2010-2020年之间卖的价格
sale_price1=df['open'].resample('Y').last().sum()*100
# 2021到今天(9.21)之间股票价格利润
sale_price2=df['close'].iloc[-1]*900
profite=sale_price1+sale_price2-buy_price
profite

上一篇:java数据库连接


下一篇:python-以协程gevent方式构建socket