Tôi đã đánh dấu bởi các dữ liệu đánh dấu cho cặp ngoại hốiTừ đánh dấu bởi các dữ liệu đánh dấu để nến
Dưới đây là một mẫu của EURUSD/EURUSD-2012-06.csv
EUR/USD,20120601 00:00:00.207,1.23618,1.2363
EUR/USD,20120601 00:00:00.209,1.23618,1.23631
EUR/USD,20120601 00:00:00.210,1.23618,1.23631
EUR/USD,20120601 00:00:00.211,1.23623,1.23631
EUR/USD,20120601 00:00:00.240,1.23623,1.23627
EUR/USD,20120601 00:00:00.423,1.23622,1.23627
EUR/USD,20120601 00:00:00.457,1.2362,1.23626
EUR/USD,20120601 00:00:01.537,1.2362,1.23625
EUR/USD,20120601 00:00:03.010,1.2362,1.23624
EUR/USD,20120601 00:00:03.012,1.2362,1.23625
dữ liệu đầy đủ đánh dấu có thể được tải về tại đây http://dl.free.fr/k4vVF7aOD
Các cột là:
Symbol,Datetime,Bid,Ask
Tôi muốn chuyển đổi dấu tích này bằng cách đánh dấu dữ liệu sang dữ liệu nến (còn gọi là OHLC Mở Cao Thấp Đóng) Tôi sẽ nói rằng tôi muốn có khung thời gian M15 (15 phút) làm ví dụ
Tôi muốn để sử dụng thư viện Python và Pandas để đạt được nhiệm vụ này.
tôi đã thực hiện một phần nhỏ của công việc ... đọc đánh dấu bởi đánh dấu tập tin dữ liệu
Đây là mã
#!/usr/bin/env python
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.finance import candlestick
from datetime import *
def conv_str_to_datetime(x):
return(datetime.strptime(x, '%Y%m%d %H:%M:%S.%f'))
df = pd.read_csv('test_EURUSD/EURUSD-2012-07.csv', names=['Symbol', 'Date_Time', 'Bid', 'Ask'], converters={'Date_Time': conv_str_to_datetime})
PipPosition = 4
df['Spread'] = (df['Ask'] - df['Bid']) * 10**PipPosition
print(df)
print("="*10)
print(df.ix[0])
nhưng bây giờ tôi không biết làm thế nào để bắt đầu phần còn lại o của công việc ...
tôi muốn lấy dữ liệu như
Symbol,Datetime_open_candle,open_price,high_price,low_price,close_price
Giá trên ngọn nến sẽ được dựa n Cột giá thầu. Phần đầu tiên của vấn đề là trong tâm trí của tôi để có được datetime_open_candle đầu tiên (tương thích với khung thời gian mong muốn, cho phép nói rằng tên của biến là dt1) và Datetime_open_candle cuối cùng (giả sử rằng tên của biến này là dt2).
Sau khi tôi có lẽ sẽ cần phải nhận được dữ liệu từ dt1 để DT2 (và không phải dữ liệu trước khi dt1 và sau DT2)
Biết dt1 và DT2 và khung thời gian mong muốn tôi có thể biết số lượng nến tôi sẽ có ...
Tôi đã "chỉ để" biết, với mỗi ngọn nến, giá mở/cao/thấp/giá đóng là bao nhiêu.
Tôi đang tìm một thuật toán khá nhanh, nếu có thể, một thuật toán được vector hóa (nếu có thể) vì dữ liệu đánh dấu có thể rất lớn.
bạn đang đi đúng đường: có nhiều vần và scipy chứa hàm số liệu thống kê vectơ nhanh chóng cho phép bạn làm những gì bạn muốn. –
Bạn cũng có thể sử dụng Pandas - http://pandas.pydata.org/, lớp này cung cấp lớp trừu tượng trên mặt gờ và cho phép chuyển đổi tần số, ví dụ: từ dữ liệu tối thiểu đến hàng giờ. Nó cũng sẽ cho phép bạn xử lý dữ liệu đánh dấu vào OHLC dễ dàng hơn (và vẫn hiệu quả). – kgr
Thật tuyệt khi nói với tôi rằng tôi đang đi đúng hướng (bạn đã chú ý đến các thẻ của tôi) ... nhưng tôi chắc chắn bị mắc kẹt. Tôi đã thử df2 = df.resample ('1Min') nhưng tôi nhận được TypeError: Chỉ hợp lệ với DatetimeIndex hoặc PeriodIndex –