Lấy mẫu lại dữ liệu chứng khoán Python

Xin chào và chào mừng đến với phần 4 của loạt bài hướng dẫn Python for Finance. Trong hướng dẫn này, chúng ta sẽ tạo biểu đồ hình nến/OHLC dựa trên cột Adj Close, điều này sẽ cho phép tôi đề cập đến việc lấy mẫu lại và một vài khái niệm trực quan hóa dữ liệu khác

Biểu đồ OHLC, được gọi là biểu đồ nến, là biểu đồ cô đọng tất cả dữ liệu mở, cao, thấp và đóng trong một định dạng đẹp. Thêm vào đó, nó tạo ra màu sắc đẹp, và hãy nhớ những gì tôi đã nói với bạn về các biểu đồ đẹp mắt?

Mã bắt đầu đã được trình bày cho đến thời điểm này trong các hướng dẫn trước

import datetime as dt
import matplotlib.pyplot as plt
from matplotlib import style
import pandas as pd
import pandas_datareader.data as web
style.use['ggplot']

df = pd.read_csv['tsla.csv', parse_dates=True, index_col=0]

Thật không may, việc tạo biểu đồ hình nến ngay từ Pandas không được tích hợp sẵn, mặc dù việc tạo dữ liệu OHLC là. Một ngày nào đó, tôi chắc chắn rằng loại biểu đồ này sẽ được cung cấp, nhưng hôm nay thì không. Không sao đâu, chúng tôi sẽ làm cho nó xảy ra. Đầu tiên, chúng ta cần thực hiện hai lần nhập mới

from matplotlib.finance import candlestick_ohlc
import matplotlib.dates as mdates

Lần nhập đầu tiên là loại biểu đồ OHLC từ matplotlib và lần nhập thứ hai là loại

from matplotlib.finance import candlestick_ohlc
import matplotlib.dates as mdates
3 đặc biệt. chủ yếu chỉ là một nỗi đau ở mông, nhưng đó là loại ngày cho biểu đồ matplotlib. Pandas tự động xử lý việc đó cho bạn, nhưng, như tôi đã nói, chúng tôi chưa có sự xa xỉ đó với chân nến

Đầu tiên, chúng tôi cần dữ liệu OHLC thích hợp. Dữ liệu hiện tại của chúng tôi có các giá trị OHLC và, trừ khi tôi nhầm, Tesla chưa bao giờ chia tách, nhưng bạn sẽ không luôn may mắn như vậy. Do đó, chúng tôi sẽ tạo dữ liệu OHLC của riêng mình, điều này cũng sẽ cho phép chúng tôi hiển thị một chuyển đổi dữ liệu khác đến từ Pandas

df_ohlc = df['Adj Close'].resample['10D'].ohlc[]

Những gì chúng tôi đã làm ở đây là tạo một khung dữ liệu mới, dựa trên cột

from matplotlib.finance import candlestick_ohlc
import matplotlib.dates as mdates
4, được lấy mẫu lại với khoảng thời gian 10 ngày và việc lấy mẫu lại là
from matplotlib.finance import candlestick_ohlc
import matplotlib.dates as mdates
5 [đóng cửa cao thấp]. Chúng tôi cũng có thể làm những việc như
from matplotlib.finance import candlestick_ohlc
import matplotlib.dates as mdates
6 hoặc
from matplotlib.finance import candlestick_ohlc
import matplotlib.dates as mdates
7 cho trung bình 10 ngày hoặc tổng 10 ngày. Xin lưu ý rằng mức trung bình 10 ngày này sẽ là mức trung bình 10 ngày, không phải mức trung bình luân phiên. Vì dữ liệu của chúng tôi là dữ liệu hàng ngày nên việc lấy mẫu lại thành dữ liệu 10 ngày sẽ thu nhỏ đáng kể kích thước dữ liệu của chúng tôi. Đây là cách bạn có thể chuẩn hóa nhiều bộ dữ liệu. Đôi khi, bạn có thể có dữ liệu theo dõi mỗi tháng một lần vào ngày đầu tiên của tháng, dữ liệu khác được ghi vào cuối mỗi tháng và cuối cùng là một số dữ liệu được ghi hàng tuần. Bạn có thể lấy mẫu lại khung dữ liệu này vào cuối tháng, hàng tháng và bình thường hóa tất cả một cách hiệu quả. Đó là một tính năng nâng cao hơn của Pandas mà bạn có thể tìm hiểu thêm từ chuỗi Pandas nếu muốn

Chúng tôi muốn vẽ biểu đồ cả dữ liệu nến cũng như dữ liệu khối lượng. Chúng tôi KHÔNG PHẢI lấy mẫu lại dữ liệu khối lượng, nhưng chúng tôi nên làm, vì dữ liệu này quá chi tiết so với dữ liệu định giá 10D của chúng tôi

________số 8_______

Chúng tôi đang sử dụng tổng ở đây, vì chúng tôi thực sự muốn biết tổng khối lượng giao dịch trong 10 ngày đó, nhưng bạn cũng có thể sử dụng giá trị trung bình thay thế. Bây giờ nếu chúng ta làm

print[df_ohlc.head[]]

Chúng tôi nhận được

                 open       high        low      close
Date                                                  
2010-06-29  23.889999  23.889999  15.800000  17.459999
2010-07-09  17.400000  20.639999  17.049999  20.639999
2010-07-19  21.910000  21.910000  20.219999  20.719999
2010-07-29  20.350000  21.950001  19.590000  19.590000
2010-08-08  19.600000  19.600000  17.600000  19.150000

Điều đó được mong đợi, nhưng, bây giờ chúng tôi muốn chuyển thông tin này sang matplotlib, cũng như chuyển đổi ngày thành phiên bản

from matplotlib.finance import candlestick_ohlc
import matplotlib.dates as mdates
3. Vì chúng ta sẽ vẽ biểu đồ các cột trong Matplotlib, nên chúng ta thực sự không muốn ngày tháng là một chỉ mục nữa, vì vậy chúng ta có thể làm

df_ohlc = df_ohlc.reset_index[]

Bây giờ

from matplotlib.finance import candlestick_ohlc
import matplotlib.dates as mdates
9 chỉ là một cột thông thường. Tiếp theo, chúng tôi muốn chuyển đổi nó

df_ohlc['Date'] = df_ohlc['Date'].map[mdates.date2num]

Bây giờ chúng ta sẽ thiết lập hình

fig = plt.figure[]
ax1 = plt.subplot2grid[[6,1], [0,0], rowspan=5, colspan=1]
ax2 = plt.subplot2grid[[6,1], [5,0], rowspan=1, colspan=1,sharex=ax1]
ax1.xaxis_date[]

Mọi thứ ở đây bạn đã thấy, ngoại trừ

df_ohlc = df['Adj Close'].resample['10D'].ohlc[]
0. Điều này làm cho chúng tôi là chuyển đổi trục từ số mdate thô thành ngày

Bây giờ chúng ta có thể vẽ biểu đồ nến

candlestick_ohlc[ax1, df_ohlc.values, width=2, colorup='g']

Sau đó làm âm lượng

from matplotlib.finance import candlestick_ohlc
import matplotlib.dates as mdates
0

Hàm

df_ohlc = df['Adj Close'].resample['10D'].ohlc[]
1 sẽ vẽ đồ thị x, y, sau đó điền gì vào/giữa. Trong trường hợp của chúng tôi, chúng tôi đang chọn 0

from matplotlib.finance import candlestick_ohlc
import matplotlib.dates as mdates
1

Mã đầy đủ cho hướng dẫn này

from matplotlib.finance import candlestick_ohlc
import matplotlib.dates as mdates
2

Trong một số hướng dẫn tiếp theo, chúng ta sẽ bỏ qua phần trực quan hóa một chút trong khi chúng ta tập trung vào việc thu thập dữ liệu và xử lý dữ liệu đó

hướng dẫn tiếp theo. Tự động lấy danh sách S&P 500 - Lập trình Python cho Tài chính p. 5





  • Giới thiệu và lấy dữ liệu giá cổ phiếu - Lập trình Python cho tài chính p. 1

    Đi

  • Xử lý dữ liệu và vẽ đồ thị - Lập trình Python cho tài chính p. 2

    Đi

  • Thao tác dữ liệu chứng khoán cơ bản - Lập trình Python cho tài chính p. 3

    Đi

  • Nhiều thao tác chứng khoán hơn - Lập trình Python cho tài chính p. 4

  • Tự động lấy danh sách S&P 500 - Lập trình Python cho Tài chính p. 5

    Đi

  • Nhận tất cả dữ liệu về giá của công ty trong S&P 500 - Lập trình Python cho tài chính p. 6

    Đi

  • Kết hợp tất cả giá của công ty S&P 500 vào một DataFrame - Lập trình Python cho tài chính p. 7

    Đi

  • Tạo bảng tương quan công ty S&P 500 khổng lồ cho Mối quan hệ - Lập trình Python cho tài chính p. 8

    Đi

  • Tiền xử lý dữ liệu để chuẩn bị cho Machine Learning với dữ liệu chứng khoán - Python Programming for Finance p. 9

    Đi

  • Tạo mục tiêu cho nhãn máy học - Python Programming for Finance p. 10 và 11

    Đi

  • Học máy so với giá của công ty S&P 500 - Lập trình Python cho tài chính p. 12

    Đi

  • Thử nghiệm các chiến lược giao dịch với Quantopian Introduction - Python Programming for Finance p. 13

    Đi

  • Đặt lệnh giao dịch với Quantopian - Lập trình Python cho Tài chính p. 14

    Đi

  • Lập lịch cho một chức năng trên Quantopian - Lập trình Python cho Tài chính p. 15

    Đi

  • Giới thiệu nghiên cứu lượng tử - Lập trình Python cho tài chính p. 16

    Đi

  • Quantopian Pipeline - Lập trình Python cho tài chính p. 17

    Đi

  • Alphalens trên Quantopian - Lập trình Python cho tài chính p. 18

    Đi

  • Kiểm tra lại Hệ số Alpha của chúng tôi trên Quantopian - Lập trình Python cho Tài chính p. 19

    Đi

  • Phân tích kết quả kiểm tra lại chiến lược Quantopian với Pyfolio - Lập trình Python cho Tài chính p. 20

    Đi

  • Lập chiến lược - Lập trình Python cho tài chính p. 21

    Đi

  • Tìm thêm Hệ số Alpha - Lập trình Python cho Tài chính p. 22

    Đi

  • Kết hợp các yếu tố Alpha - Lập trình Python cho Tài chính p. 23

    Đi

  • Tối ưu hóa danh mục đầu tư - Lập trình Python cho tài chính p. 24

    Đi

  • Cài đặt cục bộ Zipline để kiểm tra lại - Lập trình Python cho Tài chính p. 25

    Đi

  • Trực quan hóa kiểm tra lại Zipline - Lập trình Python cho tài chính p. 26

    Đi

  • Dữ liệu tùy chỉnh với Zipline Local - Lập trình Python cho Tài chính p. 27

    Đi

  • Lịch giao dịch thị trường tùy chỉnh với Zipline [ví dụ về Bitcoin/tiền điện tử] - Lập trình Python cho tài chính p. 28

    Lấy mẫu lại ['MS'] trong Python là gì?

    Lấy mẫu lại được sử dụng trong dữ liệu chuỗi thời gian. Đây là phương pháp tiện lợi để chuyển đổi tần số và lấy mẫu lại dữ liệu chuỗi thời gian . Mặc dù nó hoạt động với điều kiện là các đối tượng phải có chỉ mục giống như ngày giờ, ví dụ: Datetime Index, Period Index hoặc Timedelta Index.

    Làm cách nào để lấy mẫu lại dữ liệu trong gấu trúc?

    Dòng gấu trúc. chức năng lấy mẫu lại [] . Phương pháp thuận tiện để chuyển đổi tần số và lấy mẫu lại chuỗi thời gian. Đối tượng phải có chỉ mục giống như ngày giờ [Datetime Index, Period Index hoặc Timedelta Index] hoặc chuyển các giá trị giống như ngày giờ cho từ khóa on hoặc level. The resample[] function is used to resample time-series data. Convenience method for frequency conversion and resampling of time series. Object must have a datetime-like index [DatetimeIndex, PeriodIndex, or TimedeltaIndex], or pass datetime-like values to the on or level keyword.

    lấy mẫu lại dùng để làm gì?

    Lấy mẫu lại là một loạt các kỹ thuật được sử dụng trong thống kê để thu thập thêm thông tin về một mẫu . Điều này có thể bao gồm lấy lại một mẫu hoặc ước tính độ chính xác của nó. Với các kỹ thuật bổ sung này, việc lấy mẫu lại thường cải thiện độ chính xác tổng thể và ước tính bất kỳ sự không chắc chắn nào trong dân số.

    Làm cách nào để lấy dữ liệu trực tiếp NSE bằng Python?

    Chúng tôi có thể tìm nạp dữ liệu trực tiếp của NSE bằng cách sử dụng API từ chính excel , ứng dụng dựa trên python exe được xây dựng chịu trách nhiệm tìm nạp dữ liệu thị trường trực tiếp . Ở đây, chúng tôi tự động hóa excel để trích xuất dữ liệu trực tiếp.

Chủ Đề