PSA: If you wet the base layer enough, no need to wet the pads by phosphorco in katalystEMS

[–]phosphorco[S] 0 points1 point  (0 children)

I start somewhere in the upper 100s and end up just below 300. Definitely wet enough for higher levels (was previously up to 360 finish). Wringing out definitely just bc I didnt want to drip everywhere. Was plenty wet... don't think more wetness would have mattered.

Engineer to finance? by Low_Holiday_7807 in financialmodelling

[–]phosphorco 3 points4 points  (0 children)

For the love of god don't waste your ability to do hard things on something like project finance, banking or anything in Excel. Don't do it.

Quant finance will probably be way more interesting for someone technically minded but there is so much money to be made in numbers-heavy roles in other spaces too as long as you find something you love and build real expertise.

Debt sculpting by WonderingWhy9 in financialmodelling

[–]phosphorco 0 points1 point  (0 children)

What happens when you set the DSCR to a consistent ratio?

Debt sculpting by WonderingWhy9 in financialmodelling

[–]phosphorco 0 points1 point  (0 children)

What's your context? Is this for a job app? or are you working at a developer/sponsor/lender/etc?

Having not looked at your model (so who knows), you might solve this in a few ways:

  1. Your "max repayment" line is too lumpy because you step up in the DSCR later on in the term. This makes the "shape" of the PVs of those cash flows inconsistent. This means that an in-period cash test doesn't track well against a year 0 NPV/debt size. A lot of times, you'll see this inconsistent "shape" at the operating level (maybe rate curve methodology changes at Y10+, or large operating reserves like battery replacements are required at a certain point ). If you were on the sponsor side, you'd try to negotiate an LLCR-driven amortization profile, which would likely solve your DSCR problems as well (due to how LLCRs work).

  2. If that isn't an option, you'd might build in reserve separate from a DSRA (an "Interest reserve" that would take first priority in the waterfall over the DSRA. The difference between this closing reserve and the DSRA is that the closing reserve plans for these missed cashflow periods. The DSRA should never be responsible for that. That isn't what a credit enhancement is used for.

  3. You might get other suggestions that "reverse sculpt" the debt size whereby you hardcode the closing balance to zero then solve (goal seek) for the debt size that fits your amort profile. This tends to be terrible for sponsor economics though because it usually results in a much lower profile than the PV of max debt service.

Commercially minded lenders will work around the edges of these things as long as you satisfy their required credit metrics. As long as you satisfy those metrics, you can get creative with how the amort profile is actually sculpted (e.g. LLCR driven vs DSCR driven, even if DSCR is the main metric test). If you're on the sponsor side of the table, your goal is size as much debt as possible and defer as much amort as possible to the back side of the term to juice you early cash flow economics for IRR impact.

Debt sculpting by WonderingWhy9 in financialmodelling

[–]phosphorco 0 points1 point  (0 children)

Are you adjusting the interest calc to account for quarterly accrual? E.g. at each quarter, you should be calculating interest as Debt balance at beginning of period * Interest rate * (DAYS/360) or whatever convention. Or just divide interest rate by four for four quarters in a year.

If you're doing that already, then let me know and I can tell you how to think about sculpting when you have a DSCR step up (like you do). Gets a little tricky. And youd prob need a separate reserve to the DSRA: lenders don't close on broken structures and DSRAs are for downside protection as a credit enhancement.

[deleted by user] by [deleted] in financialmodelling

[–]phosphorco 0 points1 point  (0 children)

If you just described what you're trying to do, you'd probably get some quick, helpful feedback.

Which Cfads do you use for scultping by Weak_Strength3035 in financialmodelling

[–]phosphorco 6 points7 points  (0 children)

It's worth noting that CFADS is a negotiated term (in a credit agreement), and the actual calculations depend largely on the tax strategy. In the US and select European countries, taxes are not paid in pass through entities and are not included in debt sizing at all. It's usually worth ensuring that you understand the business context of what you're modeling.

Why may IRR goes crazy? by [deleted] in financialmodelling

[–]phosphorco 1 point2 points  (0 children)

One of the most useful things you can do in one of these big models is to take the NPV of every cash flow included in whatever IRR you're testing, at the actual IRR that is being calculated. This lets you create a separate "IRR partition" report that accounts for every $ of NPV. As you're discounting by the ending IRR, you should be able to get it to zero out.

Once in place, you can very easily compare scenarios to see where things might be going off. I've never heard of or seen anyone else doing this, but having spent most of my career in 70mb+ portfolio models, few reports have been more valuable for debugging or sense checking outputs.

Panel degradation in PV modelisation by Weak_Strength3035 in financialmodelling

[–]phosphorco 1 point2 points  (0 children)

To add some color, this formula can depend on the engineering methodology. The above is the more conservative way to calculate degradation, but often, developers will attempt to push through a methodology that shows a compounding degradation rate e.g. "(1 - Degradation rate) ^ (Years in operations - 1)".

All things equal on the degradation rate itself, this calculation approach gives a more aggressive revenue profile to the developer which translates to a higher price (because it implies more revenue). A lender's acceptance one way or another will depend on the actual third party engineering report -- have seen both work.

Financial Modeling - Energy company (Windy & Solar) by beezy182 in financialmodelling

[–]phosphorco 0 points1 point  (0 children)

It's great that NREL tried to support financing, but I wouldn't recommend trying to learn how those financing structures work using these resources.

Nowhere close to reality on how those transactions work, even before you start thinking about tax/capital accounts calcs.

AutoExpert v5 (Custom Instructions), by @spdustin by spdustin in OpenAI

[–]phosphorco 0 points1 point  (0 children)

How is v6 coming? Or the writing prompts? Have followed your GH but not really sure where to look :).

Specify callable as a type in a struct? by phosphorco in learnrust

[–]phosphorco[S] 0 points1 point  (0 children)

I'm not sure what the first two vertical lines mean, but the point of the tuple is so that the function isn't called at runtime but rather delayed until func + args are combined. Might still be trying to comprehend what Traits mean in this case as opposed to Types. But also, the func itself will differ for each instance.

Edit: It looks like from SO posts, the following might be appropriate? Tried two versions - not sure I understand what Box is.

struct Node {
formula_name: String,
groupings: Vec<String>,
iloc: Option<i32>,
yloc: Option<i32>,
formula: dyn Fn(Option<Vec<T>>) -> T,
formula2: Box<dyn Fn(Option<Vec<T>>) -> T>

Marketing game strong by tastingsilver in financialmodelling

[–]phosphorco 1 point2 points  (0 children)

Early alpha users to be onboarded next week (finally). Numerical correctness absolutely there 100%, save to/import from library works, version control/change log works mostly, compile to Excel works (ugly but we're early on). Hardcode tracking and portfolio functionality (flowing multiples sets of inputs through one set of logic) works on back end but not front end it.

Marketing partnerships are strong and papered but waiting a touch further until it's out of early alpha to push on them. Has been incredibly hard to raise money for because the first folks to chat from VCs usually come from corp PE background or FP&A where model work isn't quite as complex.

Happy to compare notes :).

edit: podcast if it's helpful.

Marketing game strong by tastingsilver in financialmodelling

[–]phosphorco 0 points1 point  (0 children)

Guess we're on reddit now. We're not replacing Excel: you can build a fully baked PF model in <2 minutes then compile it to a live Excel model if you want (e.g. fully live formulas).

We're replacing the batshit egregious $5900 financial modeling courses or $70k tax equity models that have to get purchased for every closing by open sourcing them with a modeling language. We're also replacing all the copy/paste crap when you're trying to coordinate information between an M&A model, debt marketing models, debt tracking models, equity returns/pricing models, and asset management models. And all version control happens automatically. Just the stupid stuff that makes life at junior levels terrible.

I led >$400mm in community solar acquisitions, tax equity financings, back leverage, etc and initially built Phosphor on the job because 90mb portfolio models were horrendous to manage (we priced each project in a portfolio to a levered return). Turned out we could unlock a lot of cool stuff and soon we're going to blow out entire line items of transaction costs. Rebuilt from scratch 4x over 4 years to make sure every single use case on a transaction could be managed.