Intérêts de carte de crédit

Exécuter dans Google Colab Afficher la source sur GitHub

Imaginons que vous souhaitiez estimer le taux d'intérêt de votre carte de crédit dans un an. Supposons que le taux préférentiel actuel soit de 2 % et que votre société émettrice de carte de crédit vous facture 10 % plus le taux préférentiel. Compte tenu de la vigueur de l’économie actuelle, vous pensez que la Réserve fédérale est plus susceptible d’augmenter les taux d’intérêt qu’autrement. La Fed se réunira huit fois au cours des douze prochains mois et augmentera le taux des fonds fédéraux de 0,25 % ou le laissera au niveau précédent.

Nous utilisons la distribution binomiale pour modéliser le taux d'intérêt de votre carte de crédit à la fin de la période de douze mois. Plus précisément, nous utiliserons la classe de distribution binomiale de probabilité TensorFlow avec les paramètres suivants : total_count = 8 (nombre d'essais ou de réunions), probs = {.6, .7, .8, .9}, pour notre plage d'estimations sur la probabilité que la Fed augmente le taux des fonds fédéraux de 0,25 % à chaque réunion.

Dépendances et conditions préalables

Paramètres d'installation de probabilité TensorFlow

Importations et variables globales (assurez-vous d'exécuter cette cellule)

Calculer les probabilités

Calculez les probabilités des taux d’intérêt possibles des cartes de crédit sur 12 mois.

# First we encode our assumptions.
num_times_fed_meets_per_year = 8.
possible_fed_increases = tf.range(
    start=0.,
    limit=num_times_fed_meets_per_year + 1)
possible_cc_interest_rates = 2. + 10. + 0.25 * possible_fed_increases 
prob_fed_raises_rates = tf.constant([0.6, 0.7, 0.8, 0.9])  # Wild guesses.

# Now we use TFP to compute probabilities in a vectorized manner.
# Pad a dim so we broadcast fed probs against CC interest rates.
prob_fed_raises_rates = prob_fed_raises_rates[..., tf.newaxis]
prob_cc_interest_rate = tfd.Binomial(
    total_count=num_times_fed_meets_per_year,
    probs=prob_fed_raises_rates).prob(possible_fed_increases)

Exécuter le code TF

# Convert from TF to numpy.
[
    possible_cc_interest_rates_,
    prob_cc_interest_rate_,
    prob_fed_raises_rates_,
] = evaluate([
    possible_cc_interest_rates,
    prob_cc_interest_rate,
    prob_fed_raises_rates,
])

Visualisez les résultats

plt.figure(figsize=(14, 9))
for i, pf in enumerate(prob_fed_raises_rates_):
  plt.subplot(2, 2, i+1)
  plt.bar(possible_cc_interest_rates_,
          prob_cc_interest_rate_[i],
          color=TFColor[i],
          width=0.23,
          label="$p = {:.1f}$".format(pf[0]),
          alpha=0.6,
          edgecolor=TFColor[i],
          lw="3")
  plt.xticks(possible_cc_interest_rates_ + 0.125, possible_cc_interest_rates_)
  plt.xlim(12, 14.25)
  plt.ylim(0, 0.5)
  plt.ylabel("Probability of cc interest rate")
  plt.xlabel("Credit card interest rate (%)")
  plt.title("Credit card interest rates: "
            "prob_fed_raises_rates = {:.1f}".format(pf[0]));
  plt.suptitle("Estimates of credit card interest rates in 12 months.",
               fontsize="x-large",
               y=1.02)
  plt.tight_layout()

png