---
author: luo-kai
name: real-estate-investing-expert
description: Expert-level real estate investing knowledge. Use when working with property valuation, rental yield, cap rates, cash-on-cash returns, REITs, mortgage financing, property analysis, real estate development, or portfolio building. Also use when the user mentions 'cap rate', 'NOI', 'cash flow', 'rental yield', 'LTV', 'DSCR', 'REITs', 'cash-on-cash', 'appreciation', 'house hacking', 'BRRRR', 'commercial real estate', or 'property management'.
license: MIT
metadata:
  author: luokai25
  version: "1.0"
  category: finance
---

# Real Estate Investing Expert

You are a world-class real estate investor and analyst with deep expertise in residential and commercial property analysis, valuation, financing, portfolio construction, REITs, development, and building long-term wealth through real estate.

## Before Starting

1. **Property type** — Residential, multifamily, commercial, industrial, or REITs?
2. **Strategy** — Buy and hold, fix and flip, BRRRR, development, or REITs?
3. **Goal** — Cash flow, appreciation, tax benefits, or diversification?
4. **Market** — Local market, national, or international?
5. **Capital** — Available equity, financing capacity, and target returns?

---

## Core Expertise Areas

- **Property Valuation**: income approach, sales comparison, cost approach
- **Cash Flow Analysis**: NOI, cap rate, cash-on-cash, IRR
- **Financing**: mortgages, LTV, DSCR, creative financing
- **Residential Investing**: single family, multifamily, house hacking
- **Commercial Real Estate**: office, retail, industrial, multifamily
- **REITs**: structure, valuation, FFO, sectors
- **Development**: pro forma, construction, entitlement
- **Tax Benefits**: depreciation, 1031 exchange, cost segregation

---

## Core Metrics
```python
def property_analysis(income_data, expense_data, purchase_data):
    """
    Complete property investment analysis.
    """
    # ── INCOME ────────────────────────────────────────────────
    gross_rents         = income_data['monthly_rent'] * 12
    vacancy_loss        = gross_rents * income_data['vacancy_rate']
    other_income        = income_data.get('other_income', 0)
    effective_gross_income = gross_rents - vacancy_loss + other_income

    # ── EXPENSES ──────────────────────────────────────────────
    property_tax        = expense_data['property_tax']
    insurance           = expense_data['insurance']
    maintenance         = expense_data.get('maintenance',
                           gross_rents * 0.05)
    property_mgmt       = effective_gross_income * expense_data.get(
                           'mgmt_fee_pct', 0.08)
    capex_reserve       = gross_rents * expense_data.get('capex_pct', 0.05)
    utilities           = expense_data.get('utilities', 0)
    hoa                 = expense_data.get('hoa', 0)

    total_expenses      = (property_tax + insurance + maintenance +
                           property_mgmt + capex_reserve +
                           utilities + hoa)

    # ── NOI & CAP RATE ────────────────────────────────────────
    noi                 = effective_gross_income - total_expenses
    purchase_price      = purchase_data['purchase_price']
    cap_rate            = noi / purchase_price

    # ── CASH FLOW ─────────────────────────────────────────────
    down_payment        = purchase_price * purchase_data['down_payment_pct']
    loan_amount         = purchase_price - down_payment
    closing_costs       = purchase_price * purchase_data.get(
                           'closing_cost_pct', 0.03)
    total_cash_in       = down_payment + closing_costs + \
                          purchase_data.get('repairs', 0)

    # Monthly mortgage payment
    monthly_rate        = purchase_data['interest_rate'] / 12
    n_payments          = purchase_data['loan_term_years'] * 12
    monthly_mortgage    = loan_amount * (
        monthly_rate * (1+monthly_rate)**n_payments /
        ((1+monthly_rate)**n_payments - 1)
    )
    annual_debt_service = monthly_mortgage * 12
    annual_cash_flow    = noi - annual_debt_service

    # ── RETURNS ───────────────────────────────────────────────
    cash_on_cash        = annual_cash_flow / total_cash_in
    grm                 = purchase_price / gross_rents  # gross rent multiplier
    dscr                = noi / annual_debt_service
    ltv                 = loan_amount / purchase_price

    return {
        'income': {
            'gross_rents':     round(gross_rents, 0),
            'vacancy_loss':    round(vacancy_loss, 0),
            'egi':             round(effective_gross_income, 0)
        },
        'expenses': {
            'total_expenses':  round(total_expenses, 0),
            'expense_ratio':   round(total_expenses/effective_gross_income*100, 1)
        },
        'noi':                 round(noi, 0),
        'financing': {
            'loan_amount':     round(loan_amount, 0),
            'monthly_payment': round(monthly_mortgage, 0),
            'annual_ds':       round(annual_debt_service, 0)
        },
        'returns': {
            'cap_rate':        round(cap_rate * 100, 2),
            'cash_on_cash':    round(cash_on_cash * 100, 2),
            'grm':             round(grm, 2),
            'dscr':            round(dscr, 2),
            'ltv':             round(ltv * 100, 1),
            'total_cash_in':   round(total_cash_in, 0),
            'annual_cf':       round(annual_cash_flow, 0),
            'monthly_cf':      round(annual_cash_flow/12, 0)
        },
        'verdict': {
            'cap_rate_check':  'Good' if cap_rate > 0.06 else 'Low',
            'dscr_check':      'Safe' if dscr > 1.25 else 'Tight',
            'coc_check':       'Good' if cash_on_cash > 0.08 else 'Low'
        }
    }

def cap_rate_benchmarks():
    return {
        'Single Family':      '4-6% (appreciation markets), 6-10% (cash flow markets)',
        'Small Multifamily':  '5-7%',
        'Large Multifamily':  '4-6% (class A), 6-9% (class C)',
        'Retail':             '5-7% (grocery anchored), 7-10% (unanchored)',
        'Office':             '5-8% (CBD), 7-10% (suburban)',
        'Industrial':         '4-6% (logistics), 5-8% (flex)',
        'Self Storage':       '5-7%',
        'Hotel':              '7-10%',
        'interpretation': {
            'Low cap rate':   'Low risk, high demand market — less cash flow',
            'High cap rate':  'Higher risk or lower demand — more cash flow',
            'compression':    'Cap rates fall = values rise (like bond prices)'
        }
    }
```

---

## Property Valuation Methods
```python
def income_approach_valuation(noi, market_cap_rate):
    """
    Income Approach: Value = NOI / Cap Rate
    Most common for income-producing properties.
    """
    value = noi / market_cap_rate
    return {
        'noi':            round(noi, 0),
        'market_cap_rate':f"{market_cap_rate*100:.2f}%",
        'estimated_value': round(value, 0),
        'note':           '10bps cap rate change = ~1.5-2% value change'
    }

def sales_comparison_approach(subject_property, comps):
    """
    Sales comparison: adjust comp sales for differences.
    Most common for residential.
    """
    adjusted_prices = []
    for comp in comps:
        adj_price = comp['sale_price']

        # Adjust for differences
        sqft_diff = subject_property['sqft'] - comp['sqft']
        adj_price += sqft_diff * comp.get('price_per_sqft', 150)

        bed_diff   = subject_property['beds'] - comp['beds']
        adj_price += bed_diff * 5000

        bath_diff  = subject_property['baths'] - comp['baths']
        adj_price += bath_diff * 3000

        if subject_property.get('garage') and not comp.get('garage'):
            adj_price += 15000
        if subject_property.get('pool') and not comp.get('pool'):
            adj_price += 20000

        adjusted_prices.append(adj_price)

    indicated_value = sum(adjusted_prices) / len(adjusted_prices)
    return {
        'comp_values':      [round(p, 0) for p in adjusted_prices],
        'indicated_value':  round(indicated_value, 0),
        'value_range':      (round(min(adjusted_prices), 0),
                             round(max(adjusted_prices), 0))
    }

def gross_rent_multiplier(purchase_price, monthly_rent):
    """
    GRM = Price / Annual Rent
    Quick filter — lower GRM = better deal.
    Typical: 8-12x for residential.
    """
    annual_rent = monthly_rent * 12
    grm = purchase_price / annual_rent
    return {
        'grm':          round(grm, 2),
        'benchmark':    'Good' if grm < 10 else 'Average' if grm < 14 else 'High',
        'implied_price_per_rent': round(purchase_price / monthly_rent, 0)
    }
```

---

## Investment Strategies
```python
def brrrr_analysis(purchase_price, rehab_cost, arv,
                    rental_income, expenses, refi_ltv=0.75,
                    refi_rate=0.07, refi_term=30):
    """
    BRRRR Strategy: Buy, Rehab, Rent, Refinance, Repeat
    Goal: Pull out most/all of initial capital after refinance.
    """
    # Initial investment
    total_invested     = purchase_price + rehab_cost
    initial_equity     = total_invested  # assume all cash purchase

    # After rehab value
    forced_appreciation = arv - purchase_price
    equity_created      = arv - total_invested

    # Refinance
    refi_loan_amount    = arv * refi_ltv
    cash_out            = refi_loan_amount - total_invested
    remaining_equity    = arv - refi_loan_amount

    # Monthly mortgage on refi
    monthly_rate        = refi_rate / 12
    n_payments          = refi_term * 12
    monthly_mortgage    = refi_loan_amount * (
        monthly_rate * (1+monthly_rate)**n_payments /
        ((1+monthly_rate)**n_payments - 1)
    )

    # Cash flow after refi
    noi                 = rental_income * 12 - expenses
    annual_ds           = monthly_mortgage * 12
    annual_cf           = noi - annual_ds
    cash_left_in        = max(0, total_invested - refi_loan_amount)

    # Returns
    coc = annual_cf / cash_left_in if cash_left_in > 0 else float('inf')

    return {
        'buy_and_rehab': {
            'purchase':         purchase_price,
            'rehab':            rehab_cost,
            'total_invested':   total_invested
        },
        'after_rehab': {
            'arv':              arv,
            'equity_created':   round(equity_created, 0),
            'forced_appreciation': round(forced_appreciation, 0)
        },
        'refinance': {
            'loan_amount':      round(refi_loan_amount, 0),
            'cash_out':         round(cash_out, 0),
            'monthly_payment':  round(monthly_mortgage, 0),
            'cash_left_in':     round(cash_left_in, 0)
        },
        'returns': {
            'annual_cash_flow': round(annual_cf, 0),
            'cash_on_cash':     round(coc * 100, 2) if cash_left_in > 0 else 'Infinite',
            'equity_remaining': round(remaining_equity, 0),
            'strategy_verdict': 'Excellent' if cash_out > 0 else
                               'Good'      if cash_left_in < total_invested * 0.20 else
                               'Marginal'
        }
    }

def house_hacking_analysis(purchase_price, units, rent_per_unit,
                             owner_unit_market_rent, down_payment_pct=0.035):
    """
    House hacking: live in one unit, rent out others.
    Use FHA (3.5%) or conventional with owner-occupied financing.
    """
    down_payment        = purchase_price * down_payment_pct
    loan_amount         = purchase_price - down_payment
    monthly_rate        = 0.07 / 12
    n_payments          = 360
    monthly_mortgage    = loan_amount * (
        monthly_rate * (1+monthly_rate)**n_payments /
        ((1+monthly_rate)**n_payments - 1)
    )

    rental_units        = units - 1  # owner occupies one
    monthly_rent        = rental_units * rent_per_unit
    effective_housing_cost = monthly_mortgage - monthly_rent

    return {
        'purchase_price':         purchase_price,
        'down_payment':           round(down_payment, 0),
        'monthly_mortgage':       round(monthly_mortgage, 0),
        'rental_income':          round(monthly_rent, 0),
        'effective_housing_cost': round(effective_housing_cost, 0),
        'market_rent_savings':    round(owner_unit_market_rent -
                                        effective_housing_cost, 0),
        'verdict':                'Excellent' if effective_housing_cost < 500 else
                                  'Good'      if effective_housing_cost < 1000 else
                                  'Marginal'
    }

def fix_and_flip_analysis(purchase_price, rehab_cost, arv,
                           hold_months=6, financing_rate=0.12):
    """
    Fix and flip profit analysis.
    """
    # Costs
    purchase_costs      = purchase_price * 0.02  # closing costs
    financing_cost      = (purchase_price + rehab_cost) * \
                          financing_rate * (hold_months/12)
    holding_costs       = purchase_price * 0.01 * (hold_months/12)  # taxes, insurance
    selling_costs       = arv * 0.06  # agent commission + closing

    total_costs         = (purchase_price + rehab_cost + purchase_costs +
                           financing_cost + holding_costs + selling_costs)
    gross_profit        = arv - total_costs
    roi                 = gross_profit / (purchase_price + rehab_cost)
    annualized_roi      = roi * (12 / hold_months)

    mao = arv * 0.70 - rehab_cost  # Maximum Allowable Offer (70% rule)

    return {
        'arv':              arv,
        'total_costs':      round(total_costs, 0),
        'gross_profit':     round(gross_profit, 0),
        'roi':              round(roi * 100, 2),
        'annualized_roi':   round(annualized_roi * 100, 2),
        'mao_70_rule':      round(mao, 0),
        'paid_vs_mao':      'Good' if purchase_price <= mao else 'Overpaid',
        'cost_breakdown': {
            'purchase':     purchase_price,
            'rehab':        rehab_cost,
            'financing':    round(financing_cost, 0),
            'holding':      round(holding_costs, 0),
            'selling':      round(selling_costs, 0)
        }
    }
```

---

## Commercial Real Estate
```python
def commercial_re_analysis(property_type, noi, purchase_price,
                             loan_amount, interest_rate, loan_term):
    """
    Commercial RE underwriting.
    """
    cap_rate            = noi / purchase_price
    loan_constant       = (interest_rate / 12 * (1 + interest_rate/12)**
                           (loan_term*12)) / ((1+interest_rate/12)**
                           (loan_term*12) - 1) * 12
    annual_ds           = loan_amount * loan_constant
    dscr                = noi / annual_ds
    cash_flow           = noi - annual_ds
    equity_invested     = purchase_price - loan_amount
    coc                 = cash_flow / equity_invested
    ltv                 = loan_amount / purchase_price

    return {
        'cap_rate':         round(cap_rate * 100, 2),
        'dscr':             round(dscr, 2),
        'ltv':              round(ltv * 100, 1),
        'cash_on_cash':     round(coc * 100, 2),
        'annual_noi':       round(noi, 0),
        'annual_ds':        round(annual_ds, 0),
        'annual_cf':        round(cash_flow, 0),
        'lender_criteria': {
            'dscr_min':     '1.20-1.25x typical minimum',
            'ltv_max':      '65-75% typical for commercial',
            'dscr_status':  'Lendable' if dscr >= 1.20 else 'Below threshold'
        }
    }

def commercial_property_types():
    return {
        'Multifamily': {
            'cap_rates':    '4-6% class A, 6-9% class C',
            'drivers':      'Employment, population growth, housing supply',
            'metrics':      'Rent per unit, occupancy, rent growth',
            'financing':    'Agency (Fannie/Freddie) for 5+ units',
            'pro':          'Recession resistant — people always need housing'
        },
        'Industrial': {
            'cap_rates':    '4-6% logistics, 5-8% flex',
            'drivers':      'E-commerce growth, supply chain reshoring',
            'metrics':      'Clear height, dock doors, truck court depth',
            'financing':    'CMBS, life insurance, bank',
            'pro':          'Fastest growing CRE sector, low maintenance'
        },
        'Retail': {
            'cap_rates':    '5-7% grocery anchored, 7-10%+ unanchored',
            'drivers':      'Consumer spending, e-commerce threat',
            'metrics':      'Sales per sq ft, occupancy cost ratio',
            'financing':    'CMBS, bank, depends on credit of tenants',
            'risk':         'E-commerce disruption, anchor tenant risk'
        },
        'Office': {
            'cap_rates':    '5-8% CBD, 7-10% suburban',
            'drivers':      'Employment, remote work trends',
            'metrics':      'Occupancy, WALT (weighted avg lease term)',
            'financing':    'CMBS, bank',
            'risk':         'WFH secular headwind, high TI/LC costs'
        },
        'Self Storage': {
            'cap_rates':    '5-7%',
            'drivers':      'Life events — moves, divorce, downsizing',
            'metrics':      'Physical and economic occupancy, ECRI',
            'pro':          'Low maintenance, recession resistant'
        }
    }
```

---

## REITs
```python
def reit_valuation(reit_data):
    """
    REIT-specific valuation metrics.
    """
    # FFO = Net Income + D&A - Gains on Property Sales
    ffo     = (reit_data['net_income'] +
               reit_data['depreciation'] -
               reit_data['gains_on_sales'])

    # AFFO = FFO - Recurring Capex - Straight Line Rent
    affo    = ffo - reit_data['recurring_capex'] - \
              reit_data.get('straight_line_rent', 0)

    shares  = reit_data['shares_outstanding']
    price   = reit_data['share_price']
    mkt_cap = price * shares

    ffo_per_share   = ffo / shares
    affo_per_share  = affo / shares
    price_to_ffo    = price / ffo_per_share
    price_to_affo   = price / affo_per_share
    dividend_yield  = reit_data['annual_dividend'] / price
    payout_ratio    = reit_data['annual_dividend'] / affo_per_share

    # NAV approach
    nav             = reit_data['noi'] / reit_data['market_cap_rate']
    nav_per_share   = (nav - reit_data['total_debt'] +
                       reit_data['cash']) / shares
    premium_to_nav  = (price - nav_per_share) / nav_per_share

    return {
        'ffo_per_share':    round(ffo_per_share, 2),
        'affo_per_share':   round(affo_per_share, 2),
        'price_to_ffo':     round(price_to_ffo, 2),
        'price_to_affo':    round(price_to_affo, 2),
        'dividend_yield':   round(dividend_yield * 100, 2),
        'payout_ratio':     round(payout_ratio * 100, 1),
        'nav_per_share':    round(nav_per_share, 2),
        'premium_to_nav':   round(premium_to_nav * 100, 1),
        'valuation':        'Cheap'     if premium_to_nav < -0.10 else
                            'Fair'      if premium_to_nav < 0.10 else
                            'Expensive'
    }

def reit_sectors():
    return {
        'Data Centers':     'EQIX, DLR — AI/cloud demand driver',
        'Industrial':       'PLD, REXR — e-commerce logistics',
        'Residential':      'EQR, AVB, MAA — apartment REITs',
        'Self Storage':     'PSA, EXR, CUBE',
        'Healthcare':       'WELL, VTR — senior housing, medical office',
        'Net Lease':        'O, NNN — single tenant, long leases',
        'Office':           'BXP, SLG — headwind from WFH',
        'Retail Mall':      'SPG, MAC — challenged by e-commerce',
        'Hotel':            'HST, PK — cyclical, COVID risk',
        'Mortgage REITs':   'AGNC, NLY — interest rate sensitive'
    }
```

---

## Tax Benefits
```python
def tax_benefits_analysis(property_value, land_value_pct=0.20,
                           annual_income=50_000, tax_rate=0.37,
                           hold_years=5):
    """
    Real estate tax benefits analysis.
    """
    building_value      = property_value * (1 - land_value_pct)
    annual_depreciation = building_value / 27.5  # residential
    tax_shield          = annual_depreciation * tax_rate
    total_depreciation  = annual_depreciation * hold_years

    return {
        'annual_depreciation':  round(annual_depreciation, 0),
        'annual_tax_shield':    round(tax_shield, 0),
        'total_tax_savings':    round(tax_shield * hold_years, 0),
        'effective_yield_boost': round(tax_shield / property_value * 100, 2),
        'note':                 'Depreciation recaptured at 25% on sale — plan accordingly'
    }

def exchange_1031_analysis(sale_price, adjusted_basis, new_property_price,
                             capital_gains_rate=0.20, depreciation_recapture=0.25):
    """
    1031 Exchange: defer capital gains by reinvesting in like-kind property.
    """
    gain                = sale_price - adjusted_basis
    depreciation_taken  = adjusted_basis * 0.30  # approximate
    recapture_tax       = depreciation_taken * depreciation_recapture
    capital_gains_tax   = (gain - depreciation_taken) * capital_gains_rate
    total_tax_without   = recapture_tax + capital_gains_tax

    # With 1031 — defer all taxes
    additional_buying_power = total_tax_without

    return {
        'sale_price':           sale_price,
        'adjusted_basis':       adjusted_basis,
        'total_gain':           round(gain, 0),
        'tax_without_1031':     round(total_tax_without, 0),
        'tax_with_1031':        0,
        'tax_deferral':         round(total_tax_without, 0),
        'buying_power_preserved':round(sale_price, 0),
        'buying_power_without': round(sale_price - total_tax_without, 0),
        'rules': [
            '45 days to identify replacement property',
            '180 days to close on replacement',
            'Must be like-kind property',
            'Must use qualified intermediary',
            'New property must be >= sale price'
        ]
    }
```

---

## Market Analysis
```python
def market_analysis_framework():
    return {
        'Macro Indicators': [
            'Population growth rate (>1% = strong)',
            'Job growth and employment diversity',
            'Median household income trends',
            'Net migration (in vs out)',
            'GDP growth of metro area'
        ],
        'Supply Indicators': [
            'Building permits (high = oversupply risk)',
            'Vacancy rates by property type',
            'Months of housing supply',
            'Construction costs vs rents',
            'Zoning regulations (supply restrictions)'
        ],
        'Demand Indicators': [
            'Rent growth rates (YoY)',
            'Absorption rate of new units',
            'Home price appreciation',
            'Rental vs ownership cost comparison',
            'Employer announcements'
        ],
        'Best Markets to Watch': {
            'Sunbelt':      'High migration, job growth, relatively affordable',
            'Secondary':    'Less competition, higher cap rates, emerging growth',
            'Avoid':        'High vacancy, population outflow, single employer towns'
        }
    }

def rent_vs_buy_comparison(rent, purchase_price, down_payment_pct=0.20,
                             mortgage_rate=0.07, appreciation=0.03,
                             hold_years=7):
    """
    Rent vs buy financial comparison.
    """
    # Buying costs
    down_payment        = purchase_price * down_payment_pct
    loan                = purchase_price - down_payment
    monthly_rate        = mortgage_rate / 12
    n                   = 30 * 12
    monthly_mortgage    = loan * (monthly_rate*(1+monthly_rate)**n /
                                   ((1+monthly_rate)**n-1))
    property_tax        = purchase_price * 0.012 / 12
    insurance           = purchase_price * 0.005 / 12
    maintenance         = purchase_price * 0.01 / 12
    monthly_own_cost    = monthly_mortgage + property_tax + insurance + maintenance

    # Renting costs
    monthly_rent_cost   = rent

    # Net worth after hold_years
    future_value        = purchase_price * (1+appreciation)**hold_years
    remaining_loan      = loan * ((1+monthly_rate)**(n) - (1+monthly_rate)**(hold_years*12)) / \
                          ((1+monthly_rate)**n - 1)
    home_equity         = future_value - remaining_loan - down_payment
    rent_savings        = (monthly_own_cost - monthly_rent_cost) * 12 * hold_years
    investment_return   = rent_savings * (1.07**hold_years)  # if invested

    return {
        'monthly_own_cost':     round(monthly_own_cost, 0),
        'monthly_rent':         round(monthly_rent_cost, 0),
        'monthly_difference':   round(monthly_own_cost - monthly_rent_cost, 0),
        'home_equity_built':    round(home_equity, 0),
        'break_even_years':     round(down_payment / (monthly_own_cost - rent) / 12, 1)
                                if monthly_own_cost > rent else 'Immediate',
        'verdict':              'Buy' if home_equity > investment_return else 'Rent'
    }
```

---

## Common Pitfalls

| Pitfall | Problem | Fix |
|---|---|---|
| Underestimating expenses | Negative cash flow surprises | Use 50% rule as quick check |
| Ignoring vacancy | Assume 100% occupancy | Always model 5-8% vacancy minimum |
| Over-leveraging | Rate rise or vacancy kills cash flow | DSCR > 1.25, stress test rates |
| Skipping due diligence | Hidden repairs, legal issues | Always inspect, title search, environmental |
| Emotional buying | Overpay for nice property | Numbers must work — never fall in love |
| Ignoring market cycles | Buy at peak, forced to sell at bottom | Study local market supply/demand |
| Self-managing too many | Time cost kills returns | Hire property management at scale |

---

## Best Practices

- **Cash flow first** — appreciation is a bonus, not a plan
- **50% rule quick filter** — expenses typically 50% of gross rent
- **DSCR above 1.25** — leave room for vacancies and rate increases
- **Location drives appreciation** — jobs, schools, infrastructure
- **Screen tenants thoroughly** — evictions cost $3,000-$10,000+
- **Build reserves** — 3-6 months expenses in liquid reserve
- **Scale systematically** — master one market before expanding

---

## Related Skills

- **finance-trading-expert**: REIT trading and analysis
- **financial-modeling-expert**: Real estate pro forma models
- **risk-management-expert**: Portfolio risk and leverage
- **macro-economics-expert**: Interest rate impact on real estate
- **portfolio-management-expert**: Real estate in overall portfolio


---
Source attribution: luokai0
Original project: https://github.com/luokai0/ai-agent-skills-by-luo-kai/blob/main/ai-agent-skills/12-finance-and-trading%20%28by%20Luo%20Kai%29/09-real-estate/real-estate-investing-expert/SKILL.md
License: MIT
License information: https://opensource.org/license/mit
Original upstream instructions; downloaded from Mega AI Hub.

## Upstream license notice

MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.



# Mega AI Hub resource metadata

Creator / publisher: luokai0
Original project: https://github.com/luokai0/ai-agent-skills-by-luo-kai/blob/main/ai-agent-skills/12-finance-and-trading%20%28by%20Luo%20Kai%29/09-real-estate/real-estate-investing-expert/SKILL.md
Attribution basis: Source repository record

Fields of work: Finance & Accounting, Product Management, Real Estate, Sales
Roles: Business Development, Financial Analyst, Product Manager, Real Estate Agent, Real Estate Analyst
Specialties: Specialty not specified
Tools: Property Analysis Tool
Country applicability: Country not specified
Classification basis: Source catalog labels
Instruction SHA-256: 1b511e942bf0ffcd132241de3dc2f55c46398eeb7f32ae864e3b278483f80c6e
