Source code for examples.macro_model.agents.bank
# -*- coding: utf-8 -*-
""" Banks from the basic macroeconomic model """
from .agents import EconomicAgent
[docs]class Bank(EconomicAgent):
""" A Bank economic agent """
def __init__(self, simulation, model, agent_number, agent_def):
super().__init__(simulation, model, agent_number, agent_def)
self.credit_market = self.spaces['CreditMarket']
[docs] def step(self):
""" Step method for a bank """
self.cb = self.get_cb()
self.gov = self.get_government()
self.credit_market.decide_cr_target(self)
self.credit_market.decide_interest_rate_strategy(self)
self.credit_market.offer_credit(self)
self.credit_market.calculate_exposure(self)
self.credit_market.receive_advances_CB(self, self.cb, self.ammount)
self.credit_market.buy_gov_bonds(self, self.gov, self.ammount)
self.credit_market.pay_taxes(self)
self.show_offer()
[docs] def show_offer(self):
""" A bank show offer """
print(" I, ", self.name,
" am working in this model"
)
[docs] def get_cb(self):
""" Get Central Bank from model """
return self.model.agents_of_type('Central_Bank')
[docs] def get_government(self):
""" Get government from model """
return self.model.agents_of_type('Government')