Part 4: From Architecture to Operations — Making Excel Financial Models Production‑Ready

In Part 3: Future-State Architecture, Modernizing Excel Financial Modeling of the Excel modernization series, the focus moved from when to modernize to what a modern financial modeling environment should look like. The article introduced a future‑state reference architecture that treats Excel as part of a governed, scalable analytics system—not a standalone spreadsheet. It showed where … More Part 4: From Architecture to Operations — Making Excel Financial Models Production‑Ready

Part 2: When Excel Needs to Grow Up — The Hybrid Excel + Python / Power BI Framework

In Excel Optimization for Financial Modeling a Modernization Guide – Part 1: Fix Excel, we focused on optimizing Excel: making models faster, smaller, and more stable.But optimization alone doesn’t answer the bigger question many teams face next: When is Excel still enough — and when is it time to modernize? This post explores the hybrid … More Part 2: When Excel Needs to Grow Up — The Hybrid Excel + Python / Power BI Framework

Azure Based COVID19 PPE Hospital Forecasting Using Azure Server-less Architecture

Introduction This project was born from Rush’s Medical Center development of the same project which was implemented using Jupyter Notebook & hosting it on a virtual machine using Voila. Rush’s Medical Center calculates forecasting based on 3 models: Exponential Regression Logistic Regression Polynomial Regression Deploy to Azure To deploy this solution to Azure click here to access … More Azure Based COVID19 PPE Hospital Forecasting Using Azure Server-less Architecture

Refactoring IV – Finally There

On the previous post, we moved validation functionality to the Scraping object. The resulting function was this: [code language=”csharp”] private void btnStockSales_Click(object sender, RoutedEventArgs e) { TickerDataCollection = new ObservableCollection<TickerData>(); var stockList = ReadStockData(); foreach (var item in stockList) { Scraper y = new Scraper(); TickerData x = y.Scraping(item); TickerDataCollection.Add(new TickerData(x.Ticker) { High = x.High, … More Refactoring IV – Finally There

Refactoring III -Why is this here?

On the previous post I moved URL parsing code by extending the StockData class and creating a property called Url, now we are left with this code, but if you look at the highlighted code, there are way too many things happening here!. [code language=”csharp” highlight=”14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29″] private void btnStockSales_Click(object sender, RoutedEventArgs e) { TickerDataCollection = new ObservableCollection(); // … More Refactoring III -Why is this here?

Refactoring II- Encapsulating

On my previous post, I started refactoring a function that reads stock and dates, checks the data against Yahoo Finance and returns some data. In this function, I take the Stock Ticker and the data and parse the URL to be evaluated by our web scrapper object. [code language=”csharp” highlight=”13,14,15,16,17,18,19,20,21,22,23″] private void btnStockSales_Click(object sender, RoutedEventArgs … More Refactoring II- Encapsulating

Refactoring I -Convert Linq Anonymous Types to List

Refactoring is an important process to crafting readable and maintainable code. Functions should follow  the single responsibility principle – a function should do one thing and one thing only and should have few lines of code. Like with everything, you should apply this with measure and wisdom. I was asked to write a function that … More Refactoring I -Convert Linq Anonymous Types to List