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

Uploaded CPython 3.14macOS 11.0+ ARM64

ftp_calculator-0.1.814-cp314-cp314-macosx_10_12_x86_64.whl (535.8 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

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

Uploaded CPython 3.12Windows x86-64

ftp_calculator-0.1.814-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.814.tar.gz.

File metadata

  • Download URL: ftp_calculator-0.1.814.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.814.tar.gz
Algorithm Hash digest
SHA256 28edfe77a2c49aff6b178e88cd7c4815e3e9ca78efed3086a3a30542b4458ed8
MD5 f024a1167c75e48c0ca50a7ce9ed643f
BLAKE2b-256 af6512e80768cefec8146b9d92f58f179c63676a210f2952c0107480d651d92d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ftp_calculator-0.1.814-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 096ec64d06df31e284380ce6a93e393dab0764d8d202f2baa9bad833a1e16148
MD5 66cd49aaa334a0b5e212e2e72347b84c
BLAKE2b-256 abacee17028475b1d1a86f96a525d2b839bd5adfce57250b4229b4639a170856

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ftp_calculator-0.1.814-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0cbb1e9d4debd2c7c7995973e51987f25e6b988695cb2a2766ff1c1e3c4842af
MD5 c9b72bccf57db09bada61a5d0b568b5d
BLAKE2b-256 dcd64a55ccb0c2144d15af3f5241623559e5723956fe0b1020d47ec90cb72f9f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ftp_calculator-0.1.814-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3f245e55094a6a86bcd341bfcc5ee48d0f42c74d1a7744f672739739f4a9c460
MD5 9cb2bda44f18627840fd75893ba899dd
BLAKE2b-256 03ee6d52355f73739fa13041dbe9e98b30ac799d8de98406cffabc3f07ce1303

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ftp_calculator-0.1.814-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 29eb14d87f39318901f8ea62408583e5f1de15d820cb5eddd5c14c566c0248cd
MD5 e75447fc1f8825c7ee43aefefe38211e
BLAKE2b-256 3d015dfdf7b73f54d07bc4d8b8a9cbc68bc26c230a372833ca9bcd1ff62670e6

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