에 틱 데이터에 의해 체크에서 나는이 외환 쌍에 대한 틱 데이터로 체크 한 다음 은 촛대
는 http://dl.free.fr/k4vVF7aOD여기에서 다운로드 할 수 있습니다 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
전체 틱 데이터의 샘플입니다 열은 다음과 같습니다.
Symbol,Datetime,Bid,Ask
나는 촛대 데이터 틱 데이터에 의해이 틱을 변환하고 싶은 (도 OHLC 열기 (High) 저 (Low) 닫기라고도 함) 내가
싶습니다 예로서 M15의 기간 (15 분)을 얻고 싶은 것을 말할 것이다 이 작업을 수행하기 위해 Python과 Pandas 라이브러리를 사용합니다.
내가 틱 데이터 파일 여기에
하여 진드기를 읽고 ... 작업의 작은 부분을 수행 한 코드
#!/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])
하지만 지금은 나머지를 시작하는 방법을 모른다 작업의 ...
내가 촛불Symbol,Datetime_open_candle,open_price,high_price,low_price,close_price
가격과 같은 데이터를 얻을 싶어 기반으로합니다 O n 입찰 열.
문제의 첫 번째 부분은 첫 번째 Datetime_open_candle (원하는 시간 프레임과 호환 됨, 변수 이름이 dt1이라고 말할 수 있음)과 마지막 Datetime_open_candle (이 변수의 이름 dt2).
아마 DT1과 DT2 원하는 기간을 알고
(DT2 DT1 전후 데이터를하지) dt2를 위해 DT1에서 데이터를 얻을해야합니다 후 나는 것입니다 촛불의 수를 알 수 ...
나는 각 촛불에 대해 열림/높음/낮음/닫음 가격을 "알기"위해 노력했습니다.
틱 데이터가 매우 커질 수 있으므로 가능하면 벡터화 된 알고리즘 (가능한 경우)이 가능한 경우 매우 빠른 알고리즘을 찾고 있습니다.
올바른 경로에 있습니다. numpy와 scipy는 원하는 작업을 수행 할 수 있도록 해주는 빠른 벡터화 된 통계 함수를 포함합니다. –
또한 numpy에서 추상화 레이어를 제공하고 주파수 변환을 허용하는 Pandas (http://pandas.pydata.org/)를 사용할 수 있습니다. 시간별 데이터에서 또한 OHLC로 진드기 데이터를보다 쉽게 (그리고 여전히 효율적으로) 처리 할 수 있어야합니다. – kgr
내가 갈 길을 가고 있다고 (당신이 내 태그를 발견했음을) 말해주는 것이 좋다 ...하지만 나는 확실히 붙어있다. 나는 df2 = df.resample ('1Min')을 tryed했지만 TypeError를 얻습니다 : DatetimeIndex 또는 PeriodIndex에서만 유효합니다. –