s-leroux / fin

Set of tools for personal investment
MIT License
1 stars 0 forks source link

Check if we can return a t-expr from a function #16

Closed s-leroux closed 3 months ago

s-leroux commented 1 year ago

Check if we can return a t-expr from a function. This would permit to define high-level functions from lower-level blocks:

def sma(rowcount, col):
    return (div, (sum, col), rowcount)

Is this a desirable feature?

s-leroux commented 3 months ago

This is confirmed to work on v0.2.2:

from fin.seq import serie, column, fc

s = serie.Serie.create(
        column.Column.from_sequence(range(5), name="T"),
        column.Column.from_sequence(range(5), name="X"),
        column.Column.from_sequence(range(5), name="Y"),
        )

def fct(serie, x, y):
    return (fc.add, x, y)

print(
    s.select(
        "T",
        (fct, "X", "Y"),
    )
)