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.806.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.806-cp314-cp314-macosx_11_0_arm64.whl (528.3 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

ftp_calculator-0.1.806-cp314-cp314-macosx_10_12_x86_64.whl (535.9 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

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

Uploaded CPython 3.12Windows x86-64

ftp_calculator-0.1.806-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.806.tar.gz.

File metadata

  • Download URL: ftp_calculator-0.1.806.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.806.tar.gz
Algorithm Hash digest
SHA256 40ff1240af9c1f39bcec48e61516b9090b9632e390229c42da6a7e2d461bb178
MD5 4c3ce82f75b800cf79fd96874dae9886
BLAKE2b-256 3020aafcd8bef2005c58ef8da890684d587f3b116afd7208a9b92d7656413301

See more details on using hashes here.

File details

Details for the file ftp_calculator-0.1.806-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ftp_calculator-0.1.806-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5a0dd601db749ea17a76ed807454ddb495e164d0578a1e12a35ab3fe08714b0e
MD5 447e0cb6ac2d3d1c52b589f42f946739
BLAKE2b-256 773e97e69b67ab868196916f80ed0eb69ab7d794f57f69fa218ff91fef64205b

See more details on using hashes here.

File details

Details for the file ftp_calculator-0.1.806-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ftp_calculator-0.1.806-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e382f32e5774eb3c7dcc389bb1ae989dee0345f1232737ca881293a6a01ed8b5
MD5 81326365213e72eb343b78b88f822cf6
BLAKE2b-256 a674a0523cd727c71f4cd60b3e602702484592275a40a265a1fd6662c1b4173b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ftp_calculator-0.1.806-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9ac3894183359967f104551b9b3d3f4acf69430c10121a7678843e534eb5adae
MD5 e332495a1fb1bca9abeadad8c34a4daf
BLAKE2b-256 7a11f90554a22c8dd89818dfb98bd6cc7cdda8f5d98b5db10af18da099df7b91

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ftp_calculator-0.1.806-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2ce4a7babda8a943ca5d0b89805ca5fb8e031a340535ba1bcbbdfc00e65c6637
MD5 a0a2cd93239a701e6a1884aa0b196cbf
BLAKE2b-256 ed8170bc287e7d313470fb9970c3f9520d4cd6264b49d224a768ca65336ff89e

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