程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

3、Python量化交易-股票數據預處理&跌幅買賣收益分析

編輯:Python

目錄

  • 前言
  • 一、tushare
  • 二、股票數據預處理
  • 三、輸出該股票所有收盤比開盤上漲3%以上的日期
  • 四、輸出該股票所有開盤比前日收盤跌幅超過2%的日期
  • 五、案例:跌幅買賣收益分析
    • 1 - 需求
    • 2 - 根據日期截取原始數據
    • 3 - 買入股票計算
    • 4 - 賣出股票計算
    • 5 - 收益計算
  • 六、jupyter筆記

前言

  • 之前我們已經把數據分析的前置學習好了,接下來我們通過tushare獲取股票數據並進行預處理

一、tushare

  • tushare:舊官網地址、新官網地址
  • tushare安裝

二、股票數據預處理

  • 使用tushare的接口獲取股票的歷史數據:ts.set_token需要到官網注冊,然後在個人主頁中可以獲取到自己的token

  • 將獲取到的數據保存到本地

  • 刪除df中Unnamed的列數據

  • 將trade_date轉為時間序列類型

  • 將trade_date作為源數據的行索引

三、輸出該股票所有收盤比開盤上漲3%以上的日期

  • (df['open'] - df['close']) / df['open'] > 0.03:可以將滿足條件的日期設為True,不滿足的為False

  • 將boolean值作為源數據的索引

  • 取出日期數據

四、輸出該股票所有開盤比前日收盤跌幅超過2%的日期

  • 實現思路分析:因為今天的開盤需要跟前日的收盤比對,我們可以將close整體下移一位;這樣就可以將今日的開盤與昨日的收盤整合到同一行中

五、案例:跌幅買賣收益分析

1 - 需求

  • 需求:假如我從2010年1月1日開始,每月第一個交易日買入1手股票,每年最後一個交易日賣出所有股票,到今天為止,我的收益如何?
  • 分析
    • 時間節點:2010-2020
    • 一手股票:100支股票
    • 買:一個完整的年需要買入1200支股票
    • 賣:一個完整的年需要賣出1200支股票
    • 買賣股票的單價:均假設為開盤價

2 - 根據日期截取原始數據

3 - 買入股票計算

  • 過濾出每個月第一個交易日的行數據
  • 計算買入總價格

4 - 賣出股票計算

  • 過濾掉2020年的數據:因為2020年我們只取到2月,並沒有到年底
  • 賣出計算

5 - 收益計算

  • 需要將2020年還持有的2手股票作為估值計算到總收益中:估值價格按2月最後一個交易日的前一個交易日的收盤價計算

六、jupyter筆記

點擊下載jupyter筆記


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved