You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.5 KiB

8 years ago
'''
'''
import csv
import datetime
class Series:
def __init__(self):
self.data = []
def load_from_finam_csv(self, filepath):
with open(filepath) as fp:
self.ticker_ = None
reader = csv.reader(fp, delimiter=',')
next(reader)
for row in reader:
try:
self.ticker_ = row[0]
open_ = float(row[4])
high = float(row[5])
low = float(row[6])
close = float(row[7])
volume = int(row[8])
date = row[2]
time = row[3]
dt = datetime.datetime.strptime(date + "_" + time, "%Y%m%d_%H%M%S")
self.append_bar(dt, open_, high, low, close, volume)
except IndexError:
pass
def append_bar(self, dt, open_, high, low, close, volume):
self.data.append((dt, open_, high, low, close, volume))
def get_dt(self, index):
return self.data[index][0]
def get_open(self, index):
return self.data[index][1]
def get_high(self, index):
return self.data[index][2]
def get_low(self, index):
return self.data[index][3]
def get_close(self, index):
return self.data[index][4]
def get_volume(self, index):
return self.data[index][5]
def length(self):
return len(self.data)