Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/bash python
- # Insert test
- ### iSpy.csv has 3 days where market was on a half day, affecting the row #'s having 0 as a remainder when divided by 390
- ### Off top of my head, having problems w/ row 28292, 28502. Thanksgiving day, Christmas Eve, and day of Bush memorial
- ### Current problem = after Christmas Eve, row count for finding 15:59 is off by 1 minute for each day thereafter
- ### Each day following would be recorded as 15:58, then 15:57, then 15:56 thereon
- ### Unsure of how to fix problem of using a counter & the 0 remainder of ref_Num (csv row #) % 390 w/ out deleting those days
- import datetime
- from datetime import datetime
- import time
- import csv
- import os
- import pathlib
- from pathlib import Path
- from termcolor import colored, cprint
- import glob
- import hashlib
- from hashlib import md5
- # ref_Num = int(0)
- # minute_Count = int(0)
- # # Date
- # # military_time
- # #
- # # Open_Price = float()
- # # High_Price = float()
- # # Low_Price = Float()
- # # Close_Price = Float()
- #
- # Money_Flow = float()
- # TotalVolume = []
- # TotalFlow = []
- # # M_Price = Float()
- # # HLCC = Float()
- # #
- # # m_Vol
- # # m_Vol
- # #
- # # MMM = Float()
- # Liquidity = float()
- # # Liq_change = float()
- # prev_Change = float(1)
- #
- # Liq_Tick = int()
- # Price_Tick = int()
- # Strength = int(0)
- #
- # prevVol = float(1)
- # prevFlow = float(1)
- # prevIndexValue = float(1)
- # Open_Price = float(1)
- #
- # # Tick = []
- #
- #
- # ### NEW
- DailyStat = {}
- Stat = {}
- Liquidity = float()
- addLiq = float()
- addVol = int()
- addFlow = float()
- SketchIndex = float()
- HalfDay = False
- Strength = int()
- lastString = ''
- ref_Num = int(0)
- count = int()
- with open('/Users/King/Desktop/iSpy.csv', 'r') as csv_file:
- data = csv.reader(csv_file)
- header = next(data)
- for row in data:
- ref_Num += 1
- dTime = str(datetime.strptime(row[0], '%a %b %d %H:%M'))
- Time = dTime[-14:]
- Open_Price = float(row[1]) # Price Data Dictionary
- Close_Price = float(row[2]) # Price Data Dictionary
- High_Price = float(row[3]) # Price Data Dictionary
- Low_Price = float(row[4]) # Price Data Dictionary
- Money_Flow = float(row[6]) # Price Data Dictionary
- Vol = row[5] # Price Data Dictionary
- f_Vol = float(Vol[:-1]) # Price Data Dictionary
- m_Vol = str(Vol[-1:]) # Price Data Dictionary
- if m_Vol == "K": # Price Data Dictionary
- f_Vol = f_Vol * 1000 # Price Data Dictionary
- if m_Vol == "M": # Price Data Dictionary
- f_Vol = f_Vol * 1000000
- if m_Vol != "K" and m_Vol != "M":
- f_Vol = float(row[5]) # Price Data Dictionary
- if f_Vol < 1:
- M_Price = HLCC
- else:
- M_Price = round(float(Money_Flow) / f_Vol, 2)
- HLCC = float(High_Price + Low_Price + Close_Price + Close_Price)/4 # Price Data Dictionary & RangeReference Dictionary # Price Data Dictionary & RangeReference Dictionary
- Diff = round(HLCC - M_Price, 2) # Price Data Dictionary & RangeReference Dictionary & Data Dictionary
- MMM = float(f_Vol * HLCC) # Price Data Dictionary & RangeReference Dictionary & Data Dictionary
- Liq_change = float(Money_Flow - MMM) # Price Data Dictionary & RangeReference Dictionary & Data Dictionary
- Liquidity += Liq_change # Price Data Dictionary & RangeReference Dictionary & Data Dictionary
- Date = str(Time[:5]) # Important
- military_time = str(Time[-8:])
- Liq_Tick = int()
- Price_Tick = int()
- lastString = Date, military_time
- if Close_Price > Open_Price and Liq_change > 0:
- Price_Tick = 1
- Liq_Tick = 1
- elif Close_Price >= Open_Price and Liq_change < 0:
- Price_Tick = 0
- Liq_Tick = -1
- elif Close_Price <= Open_Price and Liq_change > 0:
- Price_Tick = -1
- Liq_Tick = 0
- elif Close_Price <= Open_Price and Liq_change < 0:
- Price_Tick = -1
- Liq_Tick = -1
- Tick = Liq_Tick + Price_Tick
- # percent_Strength = round(Strength / ref_Num, 4)
- if ref_Num % 390 != 0 and ref_Num < 20671:
- count += 1
- Strength += Tick
- addLiq += abs(Liq_change)
- addFlow += Money_Flow
- addVol += f_Vol
- if abs(Liq_change) >= 50000:
- SketchIndex += .5
- if abs(Liq_change) >= 100000:
- SketchIndex += 1
- if abs(Liq_change) >= 300000:
- SketchIndex += 2
- if abs(Liq_change) >= 500000:
- SketchIndex += 3
- if abs(Liq_change) >= 700000:
- SketchIndex += 5
- if abs(Liq_change) >= 900000:
- SketchIndex += 8
- if ref_Num > 20881:
- count += 1
- Strength += Tick
- addLiq += abs(Liq_change)
- addFlow += Money_Flow
- addVol += f_Vol
- if abs(Liq_change) >= 50000:
- SketchIndex += .5
- if abs(Liq_change) >= 100000:
- SketchIndex += 1
- if abs(Liq_change) >= 300000:
- SketchIndex += 2
- if abs(Liq_change) >= 500000:
- SketchIndex += 3
- if abs(Liq_change) >= 700000:
- SketchIndex += 5
- if abs(Liq_change) >= 900000:
- SketchIndex += 8
- if count == 389:
- avg_LiqChange = addLiq / 390
- Stat = {'Date':Date,'Time':military_time,'Close:':Close_Price,'TotalVol:':'{:,.2f}'.format(addVol),'TotalFlow:':'{:,.2f}'.format(addFlow),'AvgLiqChange:':'{:,.2f}'.format(avg_LiqChange),'Tick':Strength,'SkIndex:':SketchIndex}
- print(Stat)
- count = 0
- addLiq = addLiq* 0
- addFlow = addFlow * 0
- addVol = addVol * 0
- SketchIndex = SketchIndex * 0
- Strength = Strength * 0
- if ref_Num == 20881 or ref_Num == 28501:
- if count == 209:
- Stat = {'Date':Date,'Time':military_time,'Close:':Close_Price,'TotalVol:':'{:,.2f}'.format(addVol),'TotalFlow:':'{:,.2f}'.format(addFlow),'AvgLiqChange:':'{:,.2f}'.format(avg_LiqChange),'Tick':Strength,'SkIndex:':SketchIndex}
- print(Stat)
- count = 0
- addLiq = addLiq* 0
- addFlow = addFlow * 0
- addVol = addVol * 0
- SketchIndex = SketchIndex * 0
- Strength = Strength * 0
- # Liquidity = float()
- # addLiq = float()
- # addVol = int()
- # addFlow = float()
- #
- # ref_Num = int(0)
- # count = int(0)
- # with open('/Users/King/Desktop/iSpy.csv', 'r') as csv_file:
- # data = csv.reader(csv_file)
- # header = next(data)
- # for row in data:
- # ref_Num += 1
- # Day = 392
- # dTime = str(datetime.strptime(row[0], '%a %b %d %H:%M'))
- # Time = dTime[-14:]
- # Open_Price = float(row[1]) # Price Data Dictionary
- # Close_Price = float(row[2]) # Price Data Dictionary
- # High_Price = float(row[3]) # Price Data Dictionary
- # Low_Price = float(row[4]) # Price Data Dictionary
- # Money_Flow = float(row[6]) # Price Data Dictionary
- # Vol = row[5] # Price Data Dictionary
- # f_Vol = float(Vol[:-1]) # Price Data Dictionary
- # m_Vol = str(Vol[-1:]) # Price Data Dictionary
- # if m_Vol == "K": # Price Data Dictionary
- # f_Vol = f_Vol * 1000 # Price Data Dictionary
- # if m_Vol == "M": # Price Data Dictionary
- # f_Vol = f_Vol * 1000000
- # if m_Vol != "K" and m_Vol != "M":
- # f_Vol = float(row[5]) # Price Data Dictionary
- # if f_Vol < 1:
- # M_Price = HLCC
- # else:
- # M_Price = round(float(Money_Flow) / f_Vol, 2)
- # HLCC = float(High_Price + Low_Price + Close_Price + Close_Price)/4 # Price Data Dictionary & RangeReference Dictionary # Price Data Dictionary & RangeReference Dictionary
- # Diff = round(HLCC - M_Price, 2) # Price Data Dictionary & RangeReference Dictionary & Data Dictionary
- # MMM = float(f_Vol * HLCC) # Price Data Dictionary & RangeReference Dictionary & Data Dictionary
- # Liq_change = float(Money_Flow - MMM) # Price Data Dictionary & RangeReference Dictionary & Data Dictionary
- # Liquidity += Liq_change # Price Data Dictionary & RangeReference Dictionary & Data Dictionary
- # Date = str(Time[:5]) # Important
- # military_time = str(Time[-8:])
- # if ref_Num % 390 != 0:
- # count += 1
- # addLiq += abs(Liq_change)
- # addFlow += Money_Flow
- # addVol += f_Vol
- # if count == 390:
- # print(addLiq, addFlow, addVol)
- # count = 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement