日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python股票数据预处理_Python股票处理之六_数据预处理A

發布時間:2025/3/13 python 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python股票数据预处理_Python股票处理之六_数据预处理A 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 說明

在數據統計和預測的過程中,工程師基本都使用現成的算法,工程師的主要工作是根據具體業務邏輯預處理數據和選擇算法。

首先要對數據預處理(數據清洗),包括數據的歸一化,去除重復數據,修改錯誤數據,填充無效數據,抽象數據表示,篩選特征值,分配權重等等,以得到更準確的數據和更有效的結果。

繼續上次關于股票直方圖的話題,來看看簡單的股票數據預處理。左圖是昨天股票漲跌的直方圖,從中看出,漲跌幅分布在-10到50的區間內。

漲幅超過10%是因為計入了新股的首日漲幅,跌漲超過-10%,可能由于分紅配送等原因引起。下面程序中將對此區域進行特殊處理。

對于當日停牌的數據,它的開盤價收盤價最高價最低價都是同一個值,如果加入統計,會在0附近形成一個無意義的峰值,在預處理中也把它去掉。

如果用左圖結果做一個從(-10,10)共計20個區間的分類器,那么結果多半會落入(-1,1)的區間內,這并不是我們想要的。我們更希望看到的是將3000多支股票平均分布在這20個區域,每個區域股票數量相同,但是各區域大小不同。根據區域得到更合理的分類結果。(假設我們之后將要通過現有股票的各個特征,預測漲跌最有可能分布在哪個區域,這是一個對結果的分類問題,暫不考慮回歸)

2. 程序

1) 代碼

# -*- coding:utf-8 -*-

import tushare as ts

import numpy as np

import matplotlib.pyplot as plt

e = ts.get_today_all()

size = 20 #把區間分成20份

array = []

ll = e[u'high'] # 最高價

hh = e[u'low'] # 最低價

cc = e[u'changepercent']# 漲跌幅

for i in range(0, len(e)):

ifll[i] != hh[i]: # 最高價與最低價相同說明停牌

ifcc[i] > 10: # 漲幅大于10%的股票歸為10%

array.append(10)

elifcc[i] < -10: # 跌幅大于-10%的股票歸為-10%

array.append(-10)

else:

array.append(cc[i])

print "Total:",len(array)

array=np.sort(array) # 排序

bin_arr = []

bin_arr.append(-10) # 加入區間的左側值

count = 0 #區域計數

for i in range(0, len(array)):

count+=1

ifcount > len(array) / size:

printarray[i]

count= 0

bin_arr.append(array[i])

bin_arr.append(10) # 加入區間右側值

hist, bins = np.histogram(array,bins=bin_arr) # 按bin_arr給定的區域計算直方圖

width = np.diff(bins)

center = (bins[:-1] + bins[1:]) / 2

plt.bar(center, hist, align='center',width=width)

plt.show()

2) 運行結果

圖片.png

Total: 3010

-1.271 -0.667 -0.289 -0.098 0.061 0.219 0.348 0.482 0.599 0.719 0.873 1.021 1.16 1.312 1.505 1.786 2.133 2.713 3.74

3) 分析

從結果可以看出,總共篩選出了3010支股票,將其分成20個區間,其中每個區間的股票數基本相等(最后一個不足1/20),此處只使用了一天的數據,當天微漲;實際處理時,需要使用更多數據來劃分區域,20個區域可能也有點多。此處只是拋磚引玉,程序寫得并不嚴謹,大家領會精神即可。以上計算用到了直方圖均衡化的原理,在頻域上劃分,替代按值域劃分,讓我們聚焦于數據更集中的區域。

3. 參考

1) 直方圖均衡化的數學原理

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的python股票数据预处理_Python股票处理之六_数据预处理A的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。