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.808.tar.gz (14.9 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.808-cp314-cp314-macosx_11_0_arm64.whl (528.4 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

ftp_calculator-0.1.808-cp314-cp314-macosx_10_12_x86_64.whl (536.1 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

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

Uploaded CPython 3.12Windows x86-64

ftp_calculator-0.1.808-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.808.tar.gz.

File metadata

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

File hashes

Hashes for ftp_calculator-0.1.808.tar.gz
Algorithm Hash digest
SHA256 fd71a231cc0b3fff185dc823bb6eaeea0b985dfe9e09d80ec7d9de9af3655ee5
MD5 216ef117cd77b017c4a17fc1014079f3
BLAKE2b-256 841d74d27c12a15a0b1a9021e850f60ee687cf11467ce199cdd2465812b215cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ftp_calculator-0.1.808-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0567d8f4efdac586bc1070142071bf4594c994187ddc2b0b929a0d40017d5891
MD5 5082c50e71c9759dfedad1cead3cc1a9
BLAKE2b-256 55956821693215be64c7f71514e27f67fba76151c3b3c47f0f12b15aff0ab8f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ftp_calculator-0.1.808-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3831704573f2415370ce70b0e2de92348b7044d5e4bacdcd6bea6150e2b0c2a1
MD5 c9e6145c49b197e89bed53ffc1238dd3
BLAKE2b-256 a336da7c306a33b72166e56b88d7572c0553257e609ae0a2f2f850c034a60e21

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ftp_calculator-0.1.808-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 04d2508d368db143303951e8372814c22339b475f2d8775405f41719824c3e7b
MD5 3e63571ae6eef40c9e2f0559b33c34cd
BLAKE2b-256 f6f5c17f4bdb9909210b4136a56b7040e3586c8999e5f4d2cfd8647cb4ea08a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ftp_calculator-0.1.808-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3ca8169e276ab18e7310d10ae0a6421fa977ff0134dc615af693ce71905c3681
MD5 bed1b45dd5746ca2b3f1ba112682eecc
BLAKE2b-256 99ef2da2b9115798bc20367f1e7a3f5c9b09857fe383e8d8e68de9ef0b6dd8e2

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