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

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

ftp_calculator-0.1.812-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.812.tar.gz.

File metadata

  • Download URL: ftp_calculator-0.1.812.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.812.tar.gz
Algorithm Hash digest
SHA256 e4605728b858987bf25c285699975381b6ff5fb2afcb4c417848ccf0eeada87f
MD5 2ee0556f25b1fb61562f547662527b2f
BLAKE2b-256 1e6cb6b7f779d57086cbd78acee3dfba1c5693bb0b9d4173a0e2c1d780cbb88b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ftp_calculator-0.1.812-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 06d519920edf3c3a9e9e5d3487aee1100104551037eefa1aef7630d60fd74862
MD5 6f9764e09bf6a61b4e45ff0b6add0532
BLAKE2b-256 60a63f839fce5770b7ae75bb30361f3e764bef267fb521e94f90c48e789920d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ftp_calculator-0.1.812-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0e8fd98e09cd9a5ea241097e8467dc1fa2cefcd2e045dddc187de5aca86067ab
MD5 8d0c2bb1252b7bc179daa0ced228f8dc
BLAKE2b-256 ec39f3551a236d851c0bf960fd02a7d4b69cf4513db4f464664fa70ef4ae9ce7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ftp_calculator-0.1.812-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 860445b054aa382da1d5424bd21ad61aace6c2e444fab34eaccf28918aeb8bca
MD5 af8dce2d95705efcd53d35ebd98e8ece
BLAKE2b-256 7211e72c162cc015cf4b95f553cf4952557c2ab8c1995342ef27f4271828d4e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ftp_calculator-0.1.812-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e72901e85820d04ae8776b31c5000032c26c3593fe262b8601efa14a9b424272
MD5 ad558642dccb6a1769aa1b93a42cf009
BLAKE2b-256 19870b7e1da9ac122cabecf64e7c8b080426dbebc4f9b23cf89a3d2a8627ac13

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