コード例 #1
0
ファイル: driver.py プロジェクト: anuragr81/trading
def getLowsFromHistFile(histfile): 
    # Must return Array instance
    wr = csv.reader(open(histfile,"r"),quotechar='|',quoting=csv.QUOTE_MINIMAL)
    outArr = SortedArray(0)
    count = 0 
    for row in wr : 
       if count > 0 : 
          cur_time = calendar.timegm(time.strptime(row[0],"%Y-%m-%d"))
          outArr.addRow([cur_time, row[4]]);
       else : 
          count = count + 1
    return outArr
コード例 #2
0
ファイル: driver.py プロジェクト: anuragr81/trading
  print "=========TICKER=",ticker,"============="
  ranges = SortedArray(0)
  mins   = SortedArray(0)
  for cur_days in range(0,2) :
     #print "cur_days=",cur_days
     cur_start_time =  calendar.timegm((start_date-datetime.timedelta(days=cur_days)).timetuple())
     cur_end_time   =  calendar.timegm((end_date-datetime.timedelta(days=cur_days)).timetuple())
     #print "cur_start_time="+str(time.gmtime(cur_start_time))+" cur_end_time="+str(time.gmtime(cur_end_time))
     wop_min = window.WindowOperator(lows[ticker])
     wop_max = window.WindowOperator(highs[ticker])
     cur_price =  ( float(wop_min[wop_min.closest_time(cur_end_time)][0]) + float(wop_max[wop_max.closest_time(cur_end_time)][0]) ) / 2
     wmin = wop_min.window_min([cur_start_time,cur_end_time])
     wmax = wop_max.window_max([cur_start_time,cur_end_time])
     #print "Wmin(",cur_start_time,")=",wmin
     #print "Wmax(",cur_end_time,")=",wmax
     ranges.addRow([cur_end_time, (wmax - wmin)/cur_price])
     mins.addRow([cur_end_time, wmin/cur_price])

  skeys = sorted(ranges.arraydict.keys())
  d=1
  for i in range(len(skeys)-d) :
      range_diff = ranges[skeys[d-i]][0] - ranges[skeys[d-i-1]][0]
      min_diff   = mins[skeys[d-i]][0] - mins[skeys[d-i-1]][0]
      #if range_diff > .1 and min_diff < -.1 :
      print "range_diff/cur_price=", range_diff," min_diff/cur_price = ",min_diff

sys.exit(1)

csco_arr = lows['CSCO'] 

wop = window.WindowOperator(csco_arr)