python量化數據處理小細節(以后還會不斷補充)

使用tushare數據源獲取數據后處理

以下都是本人在獲得數據后,進行量化回測時,處理數據遇到的各種坑以及解決方案,有些甚至都很幼稚,切勿嘲笑

獲取數據

導包

import tushare as ts
import pandas as pd
import matplotlib
#(jupyternotebook 畫圖用的,別的工具可以不用)
%matplotlib auto 
#正常顯示畫圖時出現的中文和負號
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] =False
#顯示所有列
pd.set_option('display.max_columns',None)
#顯示所有行
pd.set_option('display.max_rows',None)

獲取50指數數據

token='token值'
pro = ts.pro_api(token)
df = ts.fund_nav(ts_code='510050.SH')
df.head()

在這里插入圖片描述
數據處理:
1.ts_code只保留前面代碼

df['ts_code']=df['ts_code'].apply(lambda x:x[:6]).tolist()

2.列名修改

#修改列名
df.rename(columns={'ann_date':'trade_date'},inplace=True)

3.刪除不需要的列

df = df.drop(['end_date','accum_nav','accum_div','net_asset','total_netasset','adj_nav','update_flag'],axis=1,inplace=True)

4.將數字日期修改為%Y-%m-%d格式
粗略說明,之后會專門講解,挺麻煩的,將str格式轉化為數字,再進行轉換

df['trade_date'] = df['trade_date'].astype('datetime64[ns]')

在這里插入圖片描述
5.按照日期排序
博主曾經遇到一個錯誤,就是日期排序后,有幾個日期不是按照順序排的,后來解決了,但目前找不到當時的解決方案,以后補充(備注,也歡迎大家補充)

df = df.sort_values(by='trade_date')
df.set_index('trade_date',inplace=True)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/449861.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/449861.shtml
英文地址,請注明出處:http://en.pswp.cn/news/449861.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux find和grep的區別

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 grep是查找文件中匹配條件的行,find是搜索匹配條件的文件。 1.find:查找文件或目錄語法: find 查找位置 文件名或目錄名如:在…

Mysql 忘記密碼重置教程

https://jingyan.baidu.com/article/454316ab4e9e65f7a7c03ad1.html 百度經驗轉載于:https://www.cnblogs.com/leaf-cq/p/10410694.html

067:【Django數據庫】ORM查詢條件詳解-range

【Django數據庫】ORM查詢條件詳解-range range:判斷某個 field 的值是否在給定的區間中。示例代碼如下: # views.py文件內容:from datetime import datetime from django.utils.timezone import make_awaredef index(request):start_time ma…

貼吧爬蟲

import requests import re#根據url獲取網頁html內容 def getHtmlContent(url):page requests.get(url)return page.texthtml getHtmlContent(https://tieba.baidu.com/p/4840106397)#以html中使用re模塊解析出所有jpg圖片的url #百度貼吧html中jpg圖片的url格式:…

別把自己變成了“二等公民”

上周參加一個代碼審查會,在會上發現了設計上的一個很嚴重的錯誤。于是,我提了好幾個問題,想知道為什么會出現這一錯誤。但是,我的同事告訴我這都是印度團隊做的設計。需要提供的一個背景信息是,這個項目是我所在的研發…

jquery函數加載及生成隨機數

$(document).ready(function () {var code ; //在全局定義驗證碼  1.將函數寫好 function createCode(){code "";var codeLength 4;//驗證碼的長度var checkCode document.getElementById("code");var random new Array(0,1,2,3,4,5,6,7,8,9,A,B,C…

rsync解說

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 一、簡介1、認識Rsync(remote synchronize)是一個遠程數據同步工具,可通過LAN/WAN快速同步多臺主機間…

關于java中getClass()和getSuperClass()的講解

為了講解這個問題,我們先來看一下下面的代碼: package com.yonyou.test;import java.util.Date;class Test extends Date{private static final long serialVersionUID 1L;public static void main(String[] args) {new Test().print();}public void print(){Syste…

期權回測框架設計思路

期權回測,博主已經研究了很長時間,也接觸了不少平臺,如真格,以及這位博主提供的思路(https://blog.csdn.net/luoqingyong/article/details/107523930),利用backtrader進行期權回測。確實國內做期…

UVA815

這道題主要學到的就是數據結構的組織,一些需要從小到大排列的東西,這些東西還有對應的東西。這個時候使用map可以解決 下面貼出代碼。其中所使用的思想,估計這個東西是沒法學的,這就只能是靈感 //這是什么吉爾題,題意都…

我對應聘者的面試原則

最近參與了幾次單位招聘面試工作,在面試工程師時,我是用我的分層準則指導與候選人的交流內容,以確定他的能力層次是否達到我所期望的。大體上軟件工程師可以分為三大層次,分別是技術知識積累層、掌握設計方法層以及運用開發方法論…

rsync:基本命令和用法

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 2.1 說在前面的話 rsync官方網站: https://www.samba.org/ftp/rsync/rsync.html rsync是可以實現增量備份的工具。配合任務計劃&#…

Java常見排序算法之堆排序

在學習算法的過程中,我們難免會接觸很多和排序相關的算法。總而言之,對于任何編程人員來說,基本的排序算法是必須要掌握的。 從今天開始,我們將要進行基本的排序算法的講解。Are you ready?Let‘s go~~~ 1、排序算法的…

python量化數據處理小細節2

處理數據主要使用的是DataFrame格式,偶爾也會有list格式。 首先定位尋找數據:主要為loc,iloc 創建DataFrame: df pd.DataFrame([1,2,3,4,5],index [a,b,c,d,e],columns[aa])或 datapd.DataFrame(np.arange(16).reshape(4,4),i…

python編碼問題

參考:https://blog.csdn.net/qq_33692803/article/details/81321340 注意區分系統默認編碼和本地默認編碼、編碼和解碼的區別轉載于:https://www.cnblogs.com/jianglinliu/p/10418437.html

軟件工程師所需掌握的“終極技術”是什么?

最近,我在微博上看到程序員鄒欣老師發的一條微博 — “不少大學同學都有一個想法:先做幾年技術,然后做管理;也有一些同學說:我技術不行,希望直接找到一個管理的工作,就像PM那樣。請看 PM 需要什…

linux中項目部署和日志查看

1 查找進程 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 ps -ef | grep java 查看所有關于java的進程 root 17540 1 0 2009 ? 01:42:27 /usr/java/jdk1.5.0_1…

dspmq dspmqver command not found(dspmq命令找不到,dspmqver主安裝目錄設置不正確

[rootrhv6-64b ~]# su - mqm -bash-4.1$ dspmq -bash: dspmq: command not found(dspmq命令找不到) -bash-4.1$ dspmqver(dspmqver主安裝目錄設置不正確) AMQ8594: WebSphere MQ commands are no longer available in /usr/bin. I…

lambda表達式與委托與線程初步談論-基于劉鐵錳視頻觀后操作

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;//線程 using System.Threading;//引用線程方法namespace ConsoleApplication2 {class Program{static void Main(string[] args){//委托詳解//Func返回…

2020-11-21

獲取數據后,需要對數據進行合并,通常是日期,也有對相同公司進行合并 下面就研究數據合并的常用方法: 目錄appendmergeon屬性how屬性(inner,outer,left , right)indicato…