Update ConsRiskyAssetModel.py
adjust natural borrowing constraint to lowest transitory shock; BoroCnstArt == 0.0
@@ -308,10 +308,16 @@ class ConsRiskySolver(ConsIndShockSolver):
def def_BoroCnst(self, BoroCnstArt):
# Natural Borrowing Constraint is always 0.0 in risky return models
- self.BoroCnstNat = 0.0
+ self.BoroCnstNat = -self.TranShkDstn.X.min()
+ # Flag for whether the natural borrowing constraint is zero
+ self.zero_bound = self.BoroCnstNat == BoroCnstArt
+
# minimum normalized cash on hand is 0.0
- self.mNrmMinNow = 0.0
+ self.mNrmMinNow = BoroCnstArt
+ if self.BoroCnstNat < self.mNrmMinNow:
+ self.MPCmaxEff = 1.0 # If actually constrained, MPC near limit is 1
+ else:
self.MPCmaxEff = self.MPCmaxNow
# Define the borrowing constraint (limiting consumption function)
