NAME
    App::FinanceUtils - Financial CLI utilities

VERSION
    This document describes version 0.003 of App::FinanceUtils (from Perl
    distribution App-FinanceUtils), released on 2019-11-29.

DESCRIPTION
    This distribution contains some CLI's to do financial calculations:

    # INSERT_EXECS_LIST

FUNCTIONS
  calc_fv_future_value
    Usage:

     calc_fv_future_value(%args) -> any

    Calculate future value (fv) from present value (pv), return rate (r),
    and periods (n).

    Examples:

    *   Invest $100 at 6% annual return rate for 5 years:

         calc_fv_future_value(pv => 100, r => 0.06, n => 5); # -> [200, "OK", 133.82255776]

    Formula is:

     fv = pv*(1+r)**n

    This function is not exported.

    Arguments ('*' denotes required arguments):

    *   n* => *float*

        Number of periods.

    *   pv* => *float*

        present value.

    *   r* => *float*

        Return rate (e.g. 0.06 for 6%).

    Return value: (any)

  calc_fv_periods
    Usage:

     calc_fv_periods(%args) -> any

    Calculate periods (n) from future value (fv), present value (pv), and
    return rate (r).

    Examples:

    *   Want to get $120 using $100 investment with annual 6% return rate,
        how many years must we wait?:

         calc_fv_periods(fv => 120, pv => 100, r => 0.06); # -> [200, "OK", 3.12896813521953]

    Formula is:

     n = log(fv/pv) / log(1+r)

    This function is not exported.

    Arguments ('*' denotes required arguments):

    *   fv* => *float*

        future value.

    *   pv* => *float*

        present value.

    *   r* => *float*

        Return rate (e.g. 0.06 for 6%).

    Return value: (any)

  calc_fv_present_value
    Usage:

     calc_fv_present_value(%args) -> any

    Calculate present value (pv) from future value (fv), return rate (r),
    and periods (n).

    Examples:

    *   Want to get $100 after 5 years at 6% annual return rate, how much to
        invest?:

         calc_fv_present_value(fv => 100, r => 0.06, n => 5); # -> [200, "OK", 74.7258172866057]

    Formula is:

     pv = fv/(1+r)**n

    This function is not exported.

    Arguments ('*' denotes required arguments):

    *   fv* => *float*

        future value.

    *   n* => *float*

        Number of periods.

    *   r* => *float*

        Return rate (e.g. 0.06 for 6%).

    Return value: (any)

  calc_fv_return_rate
    Usage:

     calc_fv_return_rate(%args) -> any

    Calculate return rate (r) from future value (fv), present value (pv),
    and periods (n).

    Examples:

    *   Want to get $120 in 5 years using $100 investment, what is the
        required return rate?:

         calc_fv_return_rate(fv => 120, pv => 100, n => 5); # -> [200, "OK", 0.0371372893366482]

    Formula is:

     r = (fv/pv)**(1/n) - 1

    This function is not exported.

    Arguments ('*' denotes required arguments):

    *   fv* => *float*

        future value.

    *   n* => *float*

        Number of periods.

    *   pv* => *float*

        present value.

    Return value: (any)

HOMEPAGE
    Please visit the project's homepage at
    <https://metacpan.org/release/App-FinanceUtils>.

SOURCE
    Source repository is at
    <https://github.com/perlancar/perl-App-FinanceUtils>.

BUGS
    Please report any bugs or feature requests on the bugtracker website
    <https://rt.cpan.org/Public/Dist/Display.html?Name=App-FinanceUtils>

    When submitting a bug or request, please include a test-file or a patch
    to an existing test-file that illustrates the bug or desired feature.

AUTHOR
    perlancar <perlancar@cpan.org>

COPYRIGHT AND LICENSE
    This software is copyright (c) 2019, 2017 by perlancar@cpan.org.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.