Python
pandas, statsmodels, scikit-learn and LLM tooling for retrieval and evaluation.
# Share of evidence found in top k def recall_at_k(retrieved, gold, k=5): top = set(retrieved[:k]) return len(top & gold) / len(gold)
Finance student at NTNU. I build AI tools for the problems finance teams actually have, test them properly, and write about what's moving the markets.
AI applied to finance documents, asset pricing with real market data, and what happens when a company actually adopts AI.
Retrieval-augmented generation over financial documents. I test how chunk size and splitting strategy change retrieval quality across filings, tables and earnings text, using FinanceBench, FinQA and TAT-QA.
A document split into chunks; highlighted chunks are the ones retrieved for a question.
Asset pricingCross-sectional tests on European equities, 2015–2025, with ESG and emissions data.
AI in practiceSeven interviews across five departments at SpareBank 1 SMN Regnskapshuset, read through UTAUT and TOE.
FounderMy startup. Two pilot clubs live, with accounting integrations to Tripletex, Fiken and Uni Micro underway.
Short takes on financial news: what happened, why it matters, and what I'd watch next.
Python for analysis and AI, SQL for getting data out of databases like WRDS, JavaScript for anything people need to click on, and Excel and Power BI for models and reporting.
pandas, statsmodels, scikit-learn and LLM tooling for retrieval and evaluation.
# Share of evidence found in top k def recall_at_k(retrieved, gold, k=5): top = set(retrieved[:k]) return len(top & gold) / len(gold)
Joins, window functions and monthly panels from return and fundamentals tables.
SELECT permno, month, AVG(ret) OVER ( PARTITION BY permno ORDER BY month ROWS 11 PRECEDING ) AS avg_ret_12m FROM monthly_returns;
Interactive calculators and this site, written without frameworks.
// Present value of cash flows const pv = (flows, r) => flows.reduce((sum, cf, t) => sum + cf / (1 + r) ** (t + 1), 0);
Financial models, sensitivity tables and lookups, built so someone else can follow and audit them.
Enterprise value, 5-year DCF: =NPV(WACC, FCF_Y1:FCF_Y5) + TerminalValue / (1 + WACC)^5
Dashboards and DAX measures that turn raw data into reporting a board can read.
Fee collection rate = DIVIDE( SUM( Payments[Amount] ), SUM( Invoices[Amount] ) )
I study finance at NTNU in Trondheim and spend most of my time where finance meets AI.
I have ten years in sports behind me: as a player, as a coach and as deputy leader of a club board, responsible for its finances. That last role is where Kretz started. I like problems with real data and a real person on the other end of the answer.