الفائدة على بطاقة الائتمان

تشغيل في جوجل كولاب عرض المصدر على جيثب

لنتخيل أنك ترغب في تقدير سعر الفائدة على بطاقتك الائتمانية بعد عام من الآن. لنفترض أن السعر الأساسي الحالي هو 2% وأن شركة بطاقة الائتمان الخاصة بك تفرض عليك رسومًا بنسبة 10% بالإضافة إلى السعر الأساسي. ونظرًا لقوة الاقتصاد الحالي، فأنت تعتقد أنه من المرجح أن يقوم بنك الاحتياطي الفيدرالي برفع أسعار الفائدة أكثر من عدمه. ومن المقرر أن يجتمع بنك الاحتياطي الفيدرالي ثماني مرات خلال الأشهر الاثني عشر المقبلة، إما أن يرفع سعر الفائدة على الأموال الفيدرالية بنسبة 0.25٪ أو يتركه عند المستوى السابق.

نحن نستخدم التوزيع ذي الحدين لنمذجة سعر الفائدة على بطاقتك الائتمانية في نهاية فترة الاثني عشر شهرًا. على وجه التحديد، سنستخدم فئة التوزيع ذات الحدين TensorFlow Probability ذات الحدين مع المعلمات التالية: Total_count = 8 (عدد التجارب أو الاجتماعات)، probs = {.6, .7, .8, .9}، لمجموعة تقديراتنا حول احتمال قيام بنك الاحتياطي الفيدرالي برفع سعر الفائدة على الأموال الفيدرالية بنسبة 0.25٪ في كل اجتماع.

التبعيات والمتطلبات الأساسية

إعدادات التثبيت الاحتمالية لـ TensorFlow

الواردات والمتغيرات العامة (تأكد من تشغيل هذه الخلية)

حساب الاحتمالات

احسب احتمالات أسعار الفائدة المحتملة على بطاقة الائتمان خلال 12 شهرًا.

# 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)

تنفيذ كود 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,
])

تصور النتائج

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