def run_analysis(self): self._read_my_holdings() self.mail_string = "" ; numSyms = len(self.smaArray) #for row in self.smaArray: for index in range(0,numSyms): symbol = self.smaArray[index][0] symbolData = symbol_analysis(symbol,self) retString = symbolData._analyze() if symbol in self.holdings: self.mail_string += '**' self.mail_string += retString self.mail_string += '\n' else: if (symbolData._reverseTrend | symbolData._crossing): self.mail_string += retString self.mail_string += '\n' #print retString print_colors.my_print (retString,'BOLD') if (self.mailit): mail_intf._send_my_mail(self.mail_string); return 0
def adj_row_price(self,priceRow): symbol = priceRow[0]; if (self._find_in_split_arr(symbol)): symbolData = symbol_analysis(symbol,self) return symbolData._adj_price() return priceRow
def adj_row_price(self, priceRow): symbol = priceRow[0] if (self._find_in_split_arr(symbol)): symbolData = symbol_analysis(symbol, self) return symbolData._adj_price() return priceRow
def run_analysis(self): self._read_my_holdings() mail_string = "" ; for row in self.smaArray: symbol = row[0] symbolData = symbol_analysis(symbol,self) retString = symbolData._analyze() if symbol in self.holdings: mail_string += '**' mail_string += retString mail_string += '\n' else: if (symbolData._reverseTrend | symbolData._crossing): mail_string += retString mail_string += '\n' #print retString print_colors.my_print (retString,'BOLD') if (self.mailit): mail_intf._send_my_mail(mail_string); return 0
def run_analysis(self): self._read_my_holdings() self.mail_string = "" numSyms = len(self.smaArray) #for row in self.smaArray: for index in range(0, numSyms): symbol = self.smaArray[index][0] symbolData = symbol_analysis(symbol, self) retString = symbolData._analyze() if symbol in self.holdings: self.mail_string += '**' self.mail_string += retString self.mail_string += '\n' else: if (symbolData._reverseTrend | symbolData._crossing): self.mail_string += retString self.mail_string += '\n' #print retString print_colors.my_print(retString, 'BOLD') if (self.mailit): mail_intf._send_my_mail(self.mail_string) return 0
def _analyze_symbol(self,symbol): symbolData = symbol_analysis(symbol,self) self.retString[symbol] = symbolData._analyze() self._symbolData[symbol] = symbolData if (symbolData._reverseTrend | symbolData._crossing | (symbolData._daily_chg > 10)): self.interestingResults[symbol] = 1 else: self.interestingResults[symbol] = 0
def _analysis(self): print "Run portfolio analysis %s" % (self._filename) myPortfolio = read_portfolio_xml.read_portfolio(self._filename) for ix1 in myPortfolio: symbol = ix1['symbol'] symbolData = symbol_analysis(symbol, self._sma_ptr) retString = symbolData._analyze() print "%2s %s" % (ix1['pctg'], retString)
def _analysis(self): print "Run portfolio analysis %s" % (self._filename) myPortfolio = read_portfolio_xml.read_portfolio(self._filename) for ix1 in myPortfolio: symbol = ix1['symbol']; symbolData = symbol_analysis(symbol,self._sma_ptr) retString = symbolData._analyze() print "%2s %s" % (ix1['pctg'],retString)
def _rebalance(self): # Rebalance Formula is # set all falling trend to 5% # For rising trend symbols, # First set all to equal # For reversal += 2 # For accelerating += 2 # For sharp += 2 # Now calculate Total and reduce all by same amount as # necessary to get the required total # # Currently user defined weights are not implemented. # Else, first apply user defined weights to get the starting # values and then apply above algorithm # print "Run portfolio rebalance %s" % (self._filename) myPortfolio = read_portfolio_xml.read_portfolio(self._filename) myhash = {} pctg = {} for ix1 in myPortfolio: symbol = ix1['symbol'] symbolData = symbol_analysis(symbol, self._sma_ptr) myhash[symbol] = symbolData totalNum = len(myPortfolio) totalNumRem = totalNum totalPctSoFar = 0 for symbol in myhash: print symbol symbolData = myhash[symbol] retString = symbolData._analyze() curPct = 0 if (symbolData._newTrend and symbolData._reverseTrend): curPct += 2 if (symbolData._newTrend and symbolData._trendSpeed): curPct += 2 if (symbolData._newTrend and symbolData._trendSlope): curPct += 2 pctg[symbol] = curPct totalPctSoFar += curPct if (not symbolData._newTrend): pctg[symbol] = 5 totalPctSoFar += 5 totalNumRem -= 1 DivideEq = int((100 - totalPctSoFar) / totalNumRem) for symbol in myhash: if (pctg[symbol] != 5): pctg[symbol] += DivideEq for ix1 in myPortfolio: symbol = ix1['symbol'] symbolData = myhash[symbol] print_colors.my_print( "%2s %2s %s" % (ix1['pctg'], pctg[symbol], symbolData._analyze()), 'RED')
def _rebalance(self): # Rebalance Formula is # set all falling trend to 5% # For rising trend symbols, # First set all to equal # For reversal += 2 # For accelerating += 2 # For sharp += 2 # Now calculate Total and reduce all by same amount as # necessary to get the required total # # Currently user defined weights are not implemented. # Else, first apply user defined weights to get the starting # values and then apply above algorithm # print "Run portfolio rebalance %s" % (self._filename) myPortfolio = read_portfolio_xml.read_portfolio(self._filename) myhash = {}; pctg = {}; for ix1 in myPortfolio: symbol = ix1['symbol']; symbolData = symbol_analysis(symbol,self._sma_ptr) myhash[symbol] = symbolData totalNum = len(myPortfolio) totalNumRem = totalNum totalPctSoFar = 0; for symbol in myhash: print symbol symbolData = myhash[symbol] retString = symbolData._analyze() curPct = 0; if (symbolData._newTrend and symbolData._reverseTrend): curPct += 2; if (symbolData._newTrend and symbolData._trendSpeed): curPct += 2; if (symbolData._newTrend and symbolData._trendSlope): curPct += 2; pctg[symbol] = curPct; totalPctSoFar += curPct if (not symbolData._newTrend): pctg[symbol] = 5 ; totalPctSoFar += 5; totalNumRem -= 1; DivideEq = int((100 - totalPctSoFar) / totalNumRem) for symbol in myhash: if (pctg[symbol] != 5): pctg[symbol] += DivideEq for ix1 in myPortfolio: symbol = ix1['symbol']; symbolData = myhash[symbol] print_colors.my_print ( "%2s %2s %s" % (ix1['pctg'],pctg[symbol], symbolData._analyze()),'RED')
def _analysis(self): print "Run portfolio analysis %s" % (self._filename) myTriggers = read_trig_xml.read_triggers(self._filename) returnVal = 0 retArray = [] for ix1 in myTriggers: symbol = ix1["symbol"] symbolData = symbol_analysis(symbol, self._sma_ptr) (retType, retString) = symbolData._check_triggers(ix1) if retType == "T": returnVal = 1 # print "%s" % (retString) retArray.append(retString) return returnVal, retArray
def _analysis(self): print "Run portfolio analysis %s" % (self._filename) myTriggers = read_trig_xml.read_triggers(self._filename) returnVal = 0 retArray = []; for ix1 in myTriggers: symbol = ix1['symbol']; symbolData = symbol_analysis(symbol,self._sma_ptr) (retType,retString) = symbolData._check_triggers(ix1) if (retType == 'T'): returnVal = 1 #print "%s" % (retString) retArray.append(retString) return returnVal,retArray
def _price_check_symbol(self,symbol): symbolData = symbol_analysis(symbol,self) self.retString[symbol] = symbolData._find_adj()
def _price_check_symbol(self, symbol): symbolData = symbol_analysis(symbol, self) self.retString[symbol] = symbolData._find_adj()