Ejemplo n.º 1
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
Ejemplo n.º 2
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
Ejemplo n.º 3
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
Ejemplo n.º 4
0
	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
Ejemplo n.º 5
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
Ejemplo n.º 6
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
Ejemplo n.º 7
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
Ejemplo n.º 8
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)
Ejemplo n.º 9
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)
Ejemplo n.º 10
0
    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')
Ejemplo n.º 11
0
	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')
Ejemplo n.º 12
0
 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
Ejemplo n.º 13
0
	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
Ejemplo n.º 14
0
        def _price_check_symbol(self,symbol):
	    symbolData = symbol_analysis(symbol,self)
	    self.retString[symbol] = symbolData._find_adj()
Ejemplo n.º 15
0
 def _price_check_symbol(self, symbol):
     symbolData = symbol_analysis(symbol, self)
     self.retString[symbol] = symbolData._find_adj()