A New Chapter: Graduation and a New Role at Monark
I'm thrilled to make two major announcements: I have completed my Master's in Financial Engineering from Stevens Institute of Technology, and I am starting a new role at Monark Mar…
Long-form writing and technical explanations.
Showing 153 pieces.
I'm thrilled to make two major announcements: I have completed my Master's in Financial Engineering from Stevens Institute of Technology, and I am starting a new role at Monark Mar…
The December Fed meeting is today! Despite the worrying lack of data, the market is confident that rates will be cut by 25 bps, with the FedWatch tool giving a 87.6% chance for a c…
Federal Housing Finance Agency director Bill Pulte recently floated a big potential change to the mortgage market: 50 year mortgages. Unfortunately, these aren’t realistic.
"Jefferies Fund Has $715 Million in First Brands Group, LLC’ Trade Debt"... but what does that exactly mean?
Interest rate cuts won't relieve a labor supply shock: with lessons from energy and housing crises.
Great video about oil prices from experts in commodities.
I found this article on structured errors insightful. Although it is focused on Rust, the explanations of the direct benefits of encoding information about the failure surface of c…
Rust's subsecond crate is a game changer for application and game development in Rust! Its innovative hotpatching method enables hot reloading for select libraries.
Moody's has downgraded the US's credit rating from the best (Aaa) to second-best (Aa1), sending the markets into a buzz. But what does it mean to downgrade a credit rating?
Rust turns 10! In honor of this momentous anniversary, I'd like to reflect on what Rust means to me, and why I have followed it for so long.
The risk-weighted-assets notes translate counterparty exposure into a capital calculation. The exposure-at-default measure is combined with a risk weight or a model-based capital r…
This is going to be a basic introduction, this is a complex topic to cover comprehensively.
This is an idea that was created in the 50s, exploded in the 90s, where it was called neural networks. A lot of development on the brain happened, so ANN was a term to distinguish …
The XVA section adds counterparty and funding effects to an otherwise clean derivative value. CVA is the expected loss from counterparty default on positive exposure; FVA captures …
Trump is threatening the independence of the Federal Reserve. But why does this even matter? And what does the Fed even do?
We will expand on the variance reduction techniques, we will repeat a couple things from last week.
The biggest loser of the tariffs, the tragedy of the "miracle on the Mekong": Vietnam 🇻🇳
I rewatched The Big Short last night, and realized that they sensationalized a pretty boring reason that the 2008 crisis happened.
Trump's policy of reducing the national debt through an export-driven economy has parallels to 1980s Romania—and it doesn't end well.
An old Chinese proverb contains the key to understanding their tariff strategy: 打得一拳开 免得百拳来
The secret plan behind crashing the economy—and why it can’t work 😴
We will cover this stuff in two different lectures. Today is Monte Carlo 1.
Misinformation becomes especially dangerous in volatile markets... 😱
Rust 1.86.0 has been released, with a very nice ergonomic feature to get around the borrow checker: get_disjoint_mut
We discussed the mechanics of CDS a bit, and then started on the valuation. So let’s discuss the valuation in more details.
Parameter estimation for stochastic differential equations.
The FE-635 syllabus turns to credit as a traded asset through credit default swaps. A CDS exchanges a premium leg for protection against a defined credit event. The buyer pays the …
New AI images stun the world 🤯 but are they worth the cost? 🤔
Handwritten midterm reference for quadrature and Black-Scholes notation; several formulas are unclear in the source render.
The risk-statistics portion of FE-635 introduces GARCH as a way to model time-varying volatility. Returns may have little serial correlation while their squared returns cluster: ca…
We’ll look specifically at Vasicek and CIR. Then we will make some remarks on the Hull-White two factor model, then some more complex model.
Cubic Splines, you solve something that is like a tridiagonal system
The next FE-635 notes explain why a single Black–Scholes volatility is not enough for an FX market. Discrete hedging creates P&L even when the model's inputs are correct, and volat…
This will be focused on numerical methods, next week we will have more examples.
A handwritten finite-difference sketch with A/B/C labels; surrounding equation notation is unclear in the source render.
The FE-635 notes move from an ideal continuous hedge to the discrete hedges used in practice. A delta hedge removes the first-order response to an FX move at one instant; between r…
Timing and quanto adjustments, we also looked at nonstandard swaps, LIBOR for LES? Another kind of nonstandard swap is…
The FE-635 workbook implements Black–Scholes-style pricing for calls, puts, forwards, and deposits. Its inputs separate the domestic discount rate from the foreign rate, because an…
We may have to make some adjustments when we value interest rate derivatives. These are convexity, timing, and quant adjustments. We will see when it is appropriate to make these a…
Trump has taken aim at pharmacy benefit managers, and the response from the industry seems to be… duck and cover. Prem Shah, executive VP at CVS, responded to skepticism on #Bloomb…
I posted an assignment, this assignment is due this week on Sunday. Let’s just talk about the homework.
We’re going to look at bond options, caps and floors, and everything about swaptions. Depending on time, we may go forward.
We’re not going to use the arbitrage method, we are going to use the forest methods.
The FE-635 notes begin with the distinction between spot and forward FX. The forward rate is the exchange rate implied by borrowing in one currency, lending in the other, and carry…
We started to look at interest rates. In the first part we’re going to discuss various interpolation methods, functions that are useful for modeling the yield curve.
Hanlon 2 is occupied by the system administrator, Zheng Xing. He will move his class so that we can occupy there. They will need to remote desktop into the lab.
Take-home exam format, 24/48 hours, lots of writing code, during finals week.
As a frequent user of public transit, I know how impactful delays are both on my productivity and my mental health. Being stuck in Secaucus Junction because of some nonsense happen…
I’m out on vacation this week, so I watched the recording
A new version of the Rust language has been released: Rust 1.84.0!
The final FE-610 notes apply the earlier stopping-time and maximum results to path-dependent payoffs. A barrier option depends on whether the underlying crosses a level before expi…
The final FE-535 notes turn to nonlinear risk through options. An option's payoff is convex, so a small change in the underlying can have a different effect depending on where the …
A recent RFC (request for comment) for the Rust language has divided the community: default fields in structs.
The bond-hedging lab combines duration, futures, and forward positions. A portfolio can be made locally insensitive to a yield move by matching its dollar duration with an offsetti…
A happy Thanksgiving to all! Today, in addition to my loved ones, I'm grateful for a brand-new version of Rust, now with more const! const evaluation is one of the most important s…
The FE-610 notes introduce Poisson processes as counting processes with independent increments and a constant arrival intensity. For a rate \(\lambda\), the number of arrivals by t…
The linear-risk notes approximate a portfolio's change by its sensitivities to risk factors. A hedge chooses positions whose factor exposures offset the portfolio's exposures, ofte…
The SDE section writes a state process as a drift plus a diffusion term,
The multidimensional market model in the FE-610 notes has several stocks driven by several Brownian factors. Prices, drifts, volatilities, and correlations become vectors and matri…
The risk-neutral valuation notes use a pricing measure under which discounted tradable prices are martingales. The expected payoff is discounted at the funding rate rather than for…
The final FE-540 notes work with a joint law rather than treating each variable in isolation. A conditional density is obtained by normalizing the joint density with the relevant m…
The forward-contract notes build value from replication. A forward fixes the delivery price today, while the underlying can be financed or invested until maturity. The forward pric…
The risk-neutral section motivates a change of measure rather than assuming investors literally expect the risk-free rate. Discounted tradable prices should be martingales under a …
A brief pause from election-day politics to notice an unexpected rainbow.
The later FE-540 notes package several random variables into a random vector, such as \(X=(X_1,X_2)\). The joint distribution records probability over rectangles and more general s…
The derivatives notes frame a contract as a way to move or reshape risk. Futures and standardized options trade through a clearinghouse, while bilateral contracts expose each party…
The FE-610 review consolidates the first half of the course: probability spaces and filtrations, martingales, Brownian motion, quadratic variation, the Itô integral, Itô's formula,…
After the gamma and beta families, the FE-540 notes turn to Student's \(t\) distribution and other shapes used when observations are more extreme than a Gaussian model suggests. St…
A reflection on President Biden's apology for federal Indian boarding schools.
The interest-rate-risk notes approximate how a bond portfolio changes when yields move. Duration is the first-order sensitivity of price to yield; convexity captures the curvature …
When several state variables move together, the FE-610 notes replace the scalar Itô formula with its multidimensional version. The Hessian term contains both variances and cross-va…
The FE-540 distribution notes connect several continuous families through the gamma function. The chi-squared family is a gamma distribution with parameters \(n/2\) and \(1/2\), wh…
The first-exam review returns to probability, conditional expectation, and regression. A risk estimate is a conditional statement: it depends on the information set, the horizon, a…
The continuous part of the FE-540 notes replaces sums with integrals. If \(X\) has density \(f_X\), then
The bond material in the FE-535 notes treats a fixed-coupon bond as a stream of future cash flows. Discounting those cash flows gives its present value, and the yield is the consta…
What Minneapolis changed in its zoning rules, and what happened to housing and rents.
The FE-610 notes define an integral such as \(\int_0^T\Delta_t\,dW_t\) by starting with simple adapted processes. On each partition interval, the position \(\Delta_t\) is chosen fr…
An overview of the 2024 CUPS printer-discovery vulnerability and its risk.
Brownian motion is the continuous limit of a scaled symmetric random walk. Its increments are independent and normally distributed, with \(W_t-W_s\sim N(0,t-s)\). It is a martingal…
The stochastic-process notes move from a random walk to Brownian motion and then to geometric Brownian motion. Brownian increments are normally distributed with variance proportion…
A short guide to Rust's compiler pipeline and a backend that targets .NET.
For a discrete random variable, the probability mass function gives the mass at each possible value:
The FE-610 notes describe a martingale as an adapted process whose conditional expected future value equals its current value:
The FE-535 lab notes use Monte Carlo methods to turn a model for returns into a distribution of portfolio outcomes. Simulate the relevant risk factors, revalue the portfolio on eac…
The FE-540 notes define a random variable as a measurable function from the original sample space to the real line. Measurability means that inverse images of Borel sets are events…
A look at the 2018 washing-machine tariffs, consumer costs, and U.S. manufacturing.
FE-610 begins with the probability-space machinery needed for continuous-time finance. The notes revisit sigma-algebras and probability measures, then add a filtration \((\mathcal …
The performance notes compare return with the risk taken to earn it. The Sharpe ratio uses excess return divided by volatility, while beta measures sensitivity to a common market f…
Bill Smead compares current enthusiasm for AI with the dot-com era's Cisco boom.
A probability measure \(\mathbb P\) assigns a number in \([0,1]\) to every event in \(\mathcal F\). The notes begin with \(\mathbb P(\Omega)=1\) and countable additivity for disjoi…
A response to Scott Bessent's arguments about tariffs, inflation, and fiscal policy.
FE-535 opens by separating the risk-management process from a single risk number: identify exposures, measure them, evaluate the result, and decide how the portfolio should be cons…
The first step in the FE-540 notes is to give random experiments a mathematical home. A probability space is a triple \((\Omega,\mathcal F,\mathbb P)\): \(\Omega\) is the sample sp…
A summary of the 2024 bill's price-gouging language, defenses, and penalties.
Floating point numbers are complicated enough in the abstract. How do systems programmers and hardware designers cope with the complexity of floating point?
IEEE-754 is the standard for floating point computation around the world. Thus, any real-world discussion of floating point must include it.
Floating point representation is a complex topic full of nuance. To understand it, we must focus on the abstract method used to represent non-integer numbers.
The internet has taken over the world, but with it have come malicious actors. People want to spy on you, scam you, steal from you, or harm you through the internet. Through networ…
Python is a powerful jack-of-all-trades language that is much less limited than OCaml.
Persistent storage is essential to every system that we can think of, and we can hardly think of a computer without it. However, managing disks is not as simple as it might appear …
Tiny particles are affected in different ways than we are by waves. There are several different effects that must be discussed.
Streaming multimedia is a relatively new concept in internet technology, but now has become central to the daily media consumption of people around the world.
Conditional statements are very powerful and are in used in almost every language. How does Prolog implement the same idea?
Albert Einstein revolutionized the world of physics when he discovered the special theory of relativity. It is only possible due to his contributions that valuable technologies lik…
Light is curious because it is both a particle and a wave, which makes it behave strangely in certain contexts. When projected through a slit, some strange fringes will appear, whi…
Through all the layers of the internet, the most essential is the link layer: converting bits to and from signals, detecting errors, flow control, and addressing.
Prolog is a special programming language that is not like many others. It exemplifies the paradigm of logic programming.
Concurrency is a powerful tool to increase performance in applications. This is usually accomplished using threads.
When a host needs to find the best destination/prefix to another host, what routing algorithm does it use? We can use either intra or inter domain.
Sometimes we don't have a lot of memory to access. In those cases, we need a place to put our data. The natural solution is to put data in the disk, which has very high storage. Th…
Mirrors can interact with light in interesting ways. In fact, reflection and refraction are probably most people's engagement with laws of physics surrounding light in their daily …
When we discuss the principles of programming languages, lambda calculus is the bedrock of our discussion. It is the most abstract, formal way to describe functions and application…
Besides the primary Internet protocols, there are some others to learn about, like DHCP, NAT, IPv6, etc.
We have discussed electric fields and magnetic fields, and the way that they change and interact. The full interaction of these fields will create electromagnetic waves, the study …
Making a website in the modern era is not easy to do for free. I did it using Zola, Github Pages, and Github Actions. I've always wanted to have a personal website where I can uplo…
Currying is the concept of having multiple arguments in a function. OCaml defaults to currying its functions. int - int - int is a function that takes two ints and returns an int.
HTTP is probably the most visible Internet protocol to end users. It appears (as well as its cousin, HTTPS) at the beginning of every URL we use to access the internet. But how doe…
The main problem that segments have introduced to managing memory space is that their variable size wastes memory through fragmentation. Fixed-size pieces that are easier to handle…
TCP is the well-known protocol for reliable transfer of data. But how does it actually work?
The final piece to the puzzle of electromagnetism here is electromagnetic induction, where we use magnets to create current.
When we make our programs more and more complex, we need more complex data types as well. We have only used OCaml's built-in data types, how can we construct our own data types?
What are the formal semantics of how a programming language works, mathematically? That's a broad topic. Operational semantics, which are how programs execute, are narrow enough fo…
Recursion in many languages can cause significant overhead. It might seem that the excess amount of recursion in OCaml would decrease its performance. But it actually doesn't, and …
The simplest transport protocol that is used communicate between sockets is known as UDP, the User Datagram Protocol.
The question of how magnets work has [long puzzled many](https://www.youtube.com/shorts/8bhYMnHb5JY). We will endeavor to answer all of those questions today.
Email is the most popular way in the world to send large messages. This is a complicated process which requires its own protocol: SMTP.
We can do a lot of cool things with functions besides calling them in OCaml.
Before we had Google Drive, users needed a way to access files from other people quickly and easily. The method for that was FTP.
Accessing physical memory can cause big issues if we do it directly. How can we virtualize the memory like the CPU so we can use it efficiently and safely?
Lists are the most basic data structure in OCaml, but there are others that we need to be aware of.
Circuits are the method by which all electricity travels throughout the world and power every single device in existence. It is therefore crucial to understand them while understan…
How do we get the best performance in sending information over the internet? What is packet switching and how can it help? Performance is bottlenecked by propagation delay and tran…
The way that the operating system decides which processes to run and when is a complicated process known as scheduling. This is how it works.
Lists are the most basic data structure in OCaml. The most analoguous structure is a vector in C++ or Rust. Lists are homogenous and of arbitrary length.
Besides electrical charge and field, there's another force that is relevant to electricity: electric potential.
A function takes arguments, performs operations using them, and returns a value. In OCaml, we can write functions like so
We need a way to map on to the physical CPU through our operating system. We do this through virtualization.