Skip to main content

Funds Transfer Pricing (FTP) calculator — Python bindings for a Rust engine

Project description

ftp-calculator

Python bindings for the FTP (Funds Transfer Pricing) calculator core engine written in Rust.

Installation

pip install ftp-calculator

Usage

import numpy as np
from ftp_core import FtpCalculator, compute_stock, compute_flux

outstanding = np.array([[1000.0], [1200.0], [1350.0]])
profiles = np.array([
    [1.00, 0.50, 0.20, 0.05],
    [1.00, 0.50, 0.20, 0.05],
    [1.00, 0.50, 0.20, 0.05],
])
rates = np.array([
    [0.01300, 0.01400, 0.01600],
    [0.01360, 0.01460, 0.01660],
    [0.01430, 0.01530, 0.01730],
])

# Class-based API
calc = FtpCalculator(outstanding, profiles, rates)
calc.compute("stock")  # or "flux"
print(calc.ftp_rate)   # numpy 2D array
print(calc.ftp_int)

# One-shot functional API
result = compute_stock(outstanding, profiles, rates)
print(result["ftp_rate"])
print(result["ftp_int"])

API

FtpCalculator(outstanding, profiles, rates)

Create a calculator instance with input matrices.

Parameters:

  • outstanding: numpy array of shape (n, 1) - loan/position amounts
  • profiles: numpy array of shape (n, m) - repricing profiles
  • rates: numpy array of shape (n, m-1) - market rates

Methods:

  • compute(method): Run computation using "stock" or "flux" method

Properties (available after compute):

  • stock_amort: Amortized stock
  • stock_instal: Stock installments
  • varstock_amort: Variable stock (amortized)
  • varstock_instal: Variable stock (installments)
  • ftp_rate: Calculated FTP rate
  • ftp_int: FTP interest (monthly)
  • market_rate: Market rate

compute_stock(outstanding, profiles, rates)

One-shot computation using the stock method.

Returns: Dictionary with all output matrices as numpy arrays.

compute_flux(outstanding, profiles, rates)

One-shot computation using the flux method.

Returns: Dictionary with all output matrices as numpy arrays.

Development

This package is part of the FTP Calculator project.

See the main repository for build instructions and documentation.

License

MIT OR Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ftp_calculator-0.1.805.tar.gz (15.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ftp_calculator-0.1.805-cp312-cp312-win_amd64.whl (458.1 kB view details)

Uploaded CPython 3.12Windows x86-64

ftp_calculator-0.1.805-cp312-cp312-macosx_11_0_arm64.whl (528.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

ftp_calculator-0.1.805-cp312-cp312-macosx_10_12_x86_64.whl (535.6 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

ftp_calculator-0.1.805-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (562.9 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

Details for the file ftp_calculator-0.1.805.tar.gz.

File metadata

  • Download URL: ftp_calculator-0.1.805.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.11.5

File hashes

Hashes for ftp_calculator-0.1.805.tar.gz
Algorithm Hash digest
SHA256 102219bc831cea9e83c832da966f23aeb469f50cc2636de99fcc69512390475b
MD5 cda712ac5065977d8804a66681d6a8ea
BLAKE2b-256 eebbf2643223f68093e8a2179e1f38fcd00875529044c09c40cab57418e13416

See more details on using hashes here.

File details

Details for the file ftp_calculator-0.1.805-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for ftp_calculator-0.1.805-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e802eebcf95f32519b16bd53a0ad628ffbc557f7b20d1c577ed66d970cc7e792
MD5 51ee50fed9a5acab4becf7e90dd8b3b0
BLAKE2b-256 ab04751231d737d4c4869aaead55689f2ba9757df77be33728de1baba8c23ed4

See more details on using hashes here.

File details

Details for the file ftp_calculator-0.1.805-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ftp_calculator-0.1.805-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8dabb7129cd6880d5443d527e0411575090d90e1a839c758455b79fc7a6cc85d
MD5 0449d3224bc9ef802b538464070015a3
BLAKE2b-256 8598c6bc38c30aaab20fb6b50ead056508cca0c7fa27c6e3e29f1a88eaeb72d3

See more details on using hashes here.

File details

Details for the file ftp_calculator-0.1.805-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ftp_calculator-0.1.805-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c5432e97be95a13df9c0051284ff2f0202e0b0e341acdc35d6365e4ceb8276a7
MD5 830b0f7c79184e1dc573f72c9eb3b737
BLAKE2b-256 00a064deeeb51a3721076599a2d0fd4913861d7fd166cc936d4dc56b46de174f

See more details on using hashes here.

File details

Details for the file ftp_calculator-0.1.805-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ftp_calculator-0.1.805-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 053da2da2f36581cda6d58a4ffa369e5179b0e80031ca247f8ab26df0bf910d0
MD5 59425e4e85cf5436c1253c011a0a61ad
BLAKE2b-256 82a3ad21037b3a60acf0c2ad93fdde9caf4f577e9b157607f3dd2e5e661df7ac

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page