Esempio n. 1
0
 def removeBondsToBalance(self,
                          security_dict,
                          bonds_alloc,
                          recommended_bonds_alloc,
                          exposure=True):
     recommendations = recom.rank_etfs()
     pop = recom.reversed_recommend_etf(recommendations)
     while (bonds_alloc > recommended_bonds_alloc):
         security = next(pop)
         while (not self.check_security_in_portfolio(
                 self.portfolio, security)):
             security = next(pop)
         security_exposure = self.portfolio[security]
         if (exposure):
             fit_exposure = min(security_exposure,
                                bonds_alloc - recommended_bonds_alloc)
         else:
             fit_exposure = bonds_alloc - recommended_bonds_alloc
         if (fit_exposure <= security_exposure):
             # delete dictionary entry
             self.deleteSecurity(security, security_dict)
             bonds_alloc -= security_exposure
         elif (fit_exposure < security_exposure):
             # delete some of the shares
             self.setExposure(security, security_exposure - fit_exposure)
             bonds_alloc -= fit_exposure
 def removeBondsToBalance(self,
                          security_dict,
                          bonds_alloc,
                          recommended_bonds_alloc,
                          bonds_preferences,
                          exposure=True):
     pop = recom.reversed_recommend_etf(bonds_preferences)
     while (bonds_alloc > recommended_bonds_alloc):
         security = next(pop)
         while (not self.security_exists_in_portfolio(
                 self.portfolio, security)):
             security = next(pop)
         security_exposure = self.portfolio[security]
         fit_exposure = min(security_exposure,
                            bonds_alloc - recommended_bonds_alloc)
         if (fit_exposure <= security_exposure):
             self.deleteSecurity(security, security_dict)
             bonds_alloc -= security_exposure
         elif (fit_exposure < security_exposure):
             self.setExposure(security, security_exposure - fit_exposure)
             bonds_alloc -= fit_exposure
Esempio n. 3
0
 def removeBondsToBalance(self, security_dict, bonds_alloc,
                          recommended_bonds_alloc):
     recommendations = recom.rank_etfs('Mid')
     pop = recom.reversed_recommend_etf(recommendations)
     while (bonds_alloc > recommended_bonds_alloc):
         security = next(pop)
         while (not ut.check_security_in_portfolio(self.portfolio,
                                                   security)):
             security = next(pop)
         security_exposure = self.portfolio[security] * security_dict[
             security]['Price'] / self.client['Capital'] * 100
         fit_exposure = min(security_exposure,
                            bonds_alloc - recommended_bonds_alloc)
         if (fit_exposure == security_exposure):
             # delete dictionary entry
             self.deteleSecurity(security)
             bonds_alloc -= fit_exposure
         elif (fit_exposure < security_exposure):
             # delete some of the shares
             shares_to_delete = fit_exposure / 100 * self.client[
                 'Capital'] / security_dict[security]['Price']
             self.deleteSharesFromSecurity(shares_to_delete, security)
             bonds_alloc -= fit_exposure