1. Synthetic Aperture Radar (SAR) Satellite Processing

Optical imagery fails under cloud cover. Synthetic Aperture Radar (SAR) emits microwave pulses active day and night.

Floating-Roof Oil Storage Tank Volumetric Estimation

Crude oil storage tanks use floating roofs that drop as oil drains. Radar backscatter angle $\theta$ casts an exterior tank shadow of length $L_s$. The internal oil height $H_{\text{oil}}$ is computed via trigonometric projection:

$$H_{\text{oil}} = H_{\text{tank}} - L_s \tan(\theta)$$

2. Orthogonalizing Alternative Alpha Signals

Alternative datasets (e.g., consumer foot-traffic, sentiment scores) often correlate with traditional style factors (Market, Size, Value, Momentum). To verify true idiosyncratic alpha, alternative signal $S_i$ must be orthogonalized via ordinary least squares against canonical Fama-French factors $\mathbf{F}$:

$$S_{i, t} = \alpha_i + \boldsymbol{\beta}_i^T \mathbf{F}_t + \epsilon_{i, t}$$

The purified alternative alpha signal is the residual $\epsilon_{i, t} \perp \mathbf{F}_t$.


3. Python Verification: Factor Orthogonalization Pipeline

import numpy as np

class SignalOrthogonalizer:
    """Rigorous OLS orthogonalization isolating pure alternative alpha from factor exposures."""
    @staticmethod
    def purify_signal(raw_signal: np.ndarray, factor_matrix: np.ndarray) -> np.ndarray:
        n = len(raw_signal)
        # Append intercept column
        X = np.column_stack((np.ones(n), factor_matrix))
        # Solve OLS beta = (X^T X)^-1 X^T y
        beta = np.linalg.lstsq(X, raw_signal, rcond=None)[0]
        fitted = np.dot(X, beta)
        pure_alpha_residual = raw_signal - fitted
        return pure_alpha_residual

if __name__ == "__main__":
    np.random.seed(42)
    n_days = 250
    market_factor = np.random.normal(0.0004, 0.01, size=n_days)
    momentum_factor = np.random.normal(0.0002, 0.008, size=n_days)
    factors = np.column_stack((market_factor, momentum_factor))
    
    # Raw alternative sentiment signal contaminated by 60% market beta
    pure_idiosyncratic = np.random.normal(0, 0.005, size=n_days)
    raw_sentiment = 0.6 * market_factor + 0.3 * momentum_factor + pure_idiosyncratic
    
    purified = SignalOrthogonalizer.purify_signal(raw_sentiment, factors)
    corr_before = np.corrcoef(raw_sentiment, market_factor)[0, 1]
    corr_after  = np.corrcoef(purified, market_factor)[0, 1]
    
    print(f"Raw Sentiment Correlation with Market Factor:      {corr_before:.4f}")
    print(f"Purified Alpha Correlation with Market Factor:     {corr_after:.4f} (Exact Orthogonalization!)")