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

Uploaded CPython 3.14macOS 11.0+ ARM64

ftp_calculator-0.1.810-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.810-cp312-cp312-win_amd64.whl (458.1 kB view details)

Uploaded CPython 3.12Windows x86-64

ftp_calculator-0.1.810-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.810.tar.gz.

File metadata

  • Download URL: ftp_calculator-0.1.810.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.810.tar.gz
Algorithm Hash digest
SHA256 ab6616ea4752458a08409c857f13f11544dda304fc882d3fb2ce59007c4e40cc
MD5 b42a1ae2c436183100e6abe00453cc88
BLAKE2b-256 c162c7459cbf1a2b870b1c3c2493e6bb5ca08e2f622d587f4fba77598038c1b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ftp_calculator-0.1.810-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9d3121003cc0158610d21d4ff8e492a46d12e62e07c6ba108d6398531ab4f926
MD5 76f1a8a930390d725a1a7bc3ffc09f54
BLAKE2b-256 6205c2f2a0cf4c4cb93e52b321efed0dfd5392baba880bf527ede7b894b818e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ftp_calculator-0.1.810-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 190d60d9c5b9cfd16ae8fb1c221cb39fe5fb5bbdbb80183ef543ab52e1c630d0
MD5 0ad6944812fd9c7800f22cecbd8d9d56
BLAKE2b-256 12464058bda3f0953088c755c90385985def974b7a73cfb6957d1b386571c58e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ftp_calculator-0.1.810-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 167b8a27b9f227455d54af29aee6248bc357bf1a66378dbdbb2f6c337bfc7cee
MD5 d549a625f4f34544ecda9d07ec437c21
BLAKE2b-256 b58d4e914e391dddd951c2d81a02759f0e2bba8c5bb4c32aae0509d50c303cb9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ftp_calculator-0.1.810-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f0d9eea93803c80675843bc1ca76af23517383e7db070a4e5d81ee271f299d97
MD5 900ae8f0e71b68552d9473eebe286184
BLAKE2b-256 d02eae94715a310ba1e64feb0d4ac10bbb3cdedde3492b8de468caa222a3d44b

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