← Research Library

AAPL research report

Generated 2026-07-03 13:20 · status: complete

AAPL Research Report

TL;DR

  • Apple is a huge consumer technology company built around devices like the iPhone, Mac, iPad, Apple Watch, AirPods, Apple TV, Beats, and HomePod, plus services such as the App Store, AppleCare, cloud, Apple Music, Apple TV+, Apple Arcade, Apple Fitness+, Apple News+, Apple Pay, Apple Card, advertising, and licensing.
  • FY2025 results were very strong in absolute terms: $416.161 billion revenue, $195.201 billion gross profit, $133.050 billion operating income, $112.010 billion net income, and $98.767 billion free cash flow.
  • Profitability and capital efficiency are unusually high: 47.86% gross margin, 32.64% operating margin, 27.15% net margin, 49.57% ROIC, 62.33% ROCE, 33.03% ROA, and 146.69% ROE.
  • The main debate is price and capital allocation: the stock trades at $308.63 with a $4.533 trillion market cap and rich valuation multiples such as 37.23 P/E, 10.04 P/S, 35.09 P/FCF, 28.57 EV/EBITDA, and 42.63 P/B.
  • Key concerns include shareholder payouts exceeding free cash flow in 2025 ($106.1B returned vs $98.8B FCF), negative retained earnings of -$14.3B, modest liquidity (current ratio 1.07, quick ratio 1.02), and a data inconsistency showing interest expense 0 and interest coverage 0 despite $112.377B of debt.

The Business

Apple is a Technology company in the Consumer Electronics industry. For a beginner, the simplest way to think about Apple is: it sells premium devices, then earns additional money from software, subscriptions, support, payments, and other services tied to those devices.

Its hardware lineup includes:

  • iPhone
  • Mac
  • iPad
  • Wearables and accessories like AirPods, Apple Watch, Apple TV, Beats, and HomePod

Its services include:

  • App Store
  • AppleCare
  • cloud services
  • subscriptions like Apple Music, Apple TV+, Apple Arcade, Apple Fitness+, and Apple News+
  • financial and payment offerings like Apple Pay and Apple Card
  • advertising
  • intellectual property licensing

That creates a two-part business model:

  1. Sell a large number of devices.
  2. Keep customers inside Apple’s ecosystem so they continue spending on apps, subscriptions, support, payments, and upgrades.

For beginners, this matters because hardware revenue can be one-time, while services revenue can be more recurring. That can make the business steadier over time if customers stay loyal.

Apple is also enormous:

  • Market capitalization: $4.533 trillion
  • Revenue: $416.161 billion
  • Net income: $112.010 billion
  • Employees: 166,000
  • Country: US
  • Listed on NASDAQ

Signs of a business advantage

The business analyst’s view is that Apple appears to have a meaningful moat, meaning a durable competitive advantage, though the data alone cannot prove how permanent it is.

Evidence cited:

  • Very high profitability:
    • Gross margin: 47.86%
    • Operating margin: 32.64%
    • Net margin: 27.15%
  • Strong returns on capital:
    • ROIC: 49.57%
    • ROCE: 62.33%
    • ROA: 33.03%
    • ROE: 146.69%

Peer margin context provided:

  • Apple operating margin: 32.64%
  • Alphabet: 32.70%
  • Meta: 41.21%
  • Microsoft: 46.80%
  • NVIDIA: 64.02%

So Apple is not the highest-margin company in this peer group, but its margins are still strong, especially considering it sells a lot of physical hardware as well as services.

Financial Health

Apple’s FY2025 financial results show a company producing very large profits and cash flow.

Income and cash flow

  • Revenue: $416.161 billion
  • Gross profit: $195.201 billion
  • Gross margin: 47.86%
  • Operating income: $133.050 billion
  • Operating margin: 32.64%
  • Net income: $112.010 billion
  • Net margin: 27.15%
  • Operating cash flow: $111.482 billion
  • Capital spending (capex): $12.715 billion
  • Free cash flow: $98.767 billion
  • EBITDA: $144.4B

This is the picture of a business with strong earnings and strong cash generation. One caution from the forensic review: operating cash flow of $111.482B was slightly below net income of $112.010B, a difference of about $528M. That is close enough to look acceptable, but it does not provide a large “cash is stronger than earnings” cushion.

Balance sheet and debt

  • Total debt: $112.377B
  • Net debt: $76.443B
  • Cash: $35.934B
  • Total equity: $73.733B
  • Debt-to-equity: 0.795
  • Net debt / EBITDA: 0.302

Two interpretations can both be true here:

  • Positive view: Net debt / EBITDA of 0.30 is low, suggesting debt is manageable relative to operating earnings.
  • More cautious view: Total debt of $112.4B is larger than equity of $73.7B, so the balance sheet is not especially conservative.

Liquidity

  • Current ratio: 1.07
  • Quick ratio: 1.02

These figures suggest Apple can cover short-term obligations, but with only a modest cushion. The forensic view described this as adequate, though not conservative.

Shareholder returns vs internally funded cash

Apple returned a very large amount of cash to shareholders in 2025:

  • Dividends paid: $15.421 billion
  • Buybacks: $90.711 billion
  • Combined: $106.1B

Compared with:

  • Free cash flow: $98.8B

That means Apple returned about $7.4B more than it generated in free cash flow in the year. A beginner-friendly interpretation: the company is still highly cash generative, but it distributed more cash than it produced in that period.

Other accounting and data-quality issues

  • Retained earnings: -$14.3B
  • Interest expense: 0
  • Interest coverage: 0

The negative retained earnings figure can happen when a company has paid out very large amounts over time, especially through buybacks and dividends. It does not automatically mean the business is weak, but it does show that Apple has emphasized returning capital rather than building book equity.

The interest expense 0 and interest coverage 0 figures are internally inconsistent with $112.377B of debt. The forensic analyst treated this as a data-quality red flag, not proof of distress.

Valuation

The valuation debate is the central issue in the research.

Current stock price and implied expectations

  • Current price: $308.63
  • Market capitalization: $4.533 trillion

The valuation analyst’s interpretation is that the market is pricing Apple as a premium-quality, mature large-cap company with:

  • high profitability
  • strong cash generation
  • modest but positive forward earnings growth
  • a reputation for consistency

Main valuation multiples

  • P/E: 37.23
  • Earnings yield: 2.70%
  • PEG: 1.29
  • P/S: 10.04
  • EV/Sales: 10.15
  • P/FCF: 35.09
  • FCF yield: 2.85%
  • P/B: 42.63
  • EV/EBITDA: 28.57

For a beginner, these numbers suggest the market is paying a high price for each dollar of Apple’s earnings, sales, book value, and cash flow.

Peer comparison

P/E

  • Apple: 37.23
  • GOOGL: 27.18
  • META: 20.85
  • MSFT: 23.17
  • NVDA: 29.70

Apple has the highest P/E among the listed peers.

Earnings yield

  • Apple: 2.70%
  • GOOGL: 3.68%
  • META: 4.78%
  • MSFT: 4.32%
  • NVDA: 3.37%

Apple has the lowest earnings yield in this peer set, which means buyers are accepting a lower current earnings return for the price paid.

PEG

  • Apple: 1.29
  • GOOGL: 0.59
  • META: 3.35
  • MSFT: 0.78
  • NVDA: 0.27

This can be read two ways:

  • Expensive relative to growth versus GOOGL, MSFT, and NVDA
  • Less stretched than META

P/S

  • Apple: 10.04
  • GOOGL: 10.30
  • META: 6.88
  • MSFT: 9.11
  • NVDA: 18.62

EV/Sales

  • Apple: 10.15
  • GOOGL: 10.43
  • META: 7.18
  • MSFT: 9.19
  • NVDA: 18.61

P/FCF

  • Apple: 35.09
  • GOOGL: 67.56
  • META: 30.66
  • MSFT: 39.78
  • NVDA: 39.63

This supports a mixed conclusion:

  • Apple looks expensive on earnings and enterprise-value measures.
  • On free cash flow, it is more expensive than Meta but cheaper than Alphabet, Microsoft, and NVIDIA.
  • On sales, it sits near Alphabet, above Meta and Microsoft, and below NVIDIA.

Analyst targets cited

  • Consensus target: $327
  • Median target: $325
  • Target low: $253

Using the current price of $308.63:

  • $327 implies about 5.95% above current price
  • $325 implies about 5.30% above current price
  • $253 is about 18.0% below current price

A cautious interpretation is that the stock may not have a huge cushion if expectations weaken.

Bull Case

The strongest positive case, based only on the data provided, is that Apple combines huge scale, strong profitability, and very high cash generation in a way few companies can match.

1) Massive and highly profitable business

Apple generated:

  • $416.161 billion in revenue
  • $195.201 billion in gross profit
  • $133.050 billion in operating income
  • $112.010 billion in net income

Margins are strong:

  • Gross margin: 47.86%
  • Operating margin: 32.64%
  • Net margin: 27.15%

For a hardware-centered company with a large services business, these are impressive levels.

2) Very strong cash generation

  • Operating cash flow: $111.482 billion
  • Free cash flow: $98.767 billion
  • Capex: $12.715 billion

This suggests the business converts a large share of accounting profit into real cash, even if operating cash flow was slightly below net income.

3) High returns on capital may point to a moat

  • ROIC: 49.57%
  • ROCE: 62.33%
  • ROA: 33.03%
  • ROE: 146.69%

These are exceptional figures. A bull would argue they show Apple can earn very strong profits on the capital tied up in the business, which is often a sign of brand strength, ecosystem stickiness, pricing power, and efficient operations.

4) Debt appears manageable relative to earnings power

Even with:

  • Total debt: $112.377B
  • Net debt: $76.443B

Apple also has:

  • Cash: $35.934B
  • EBITDA: $144.4B
  • Operating cash flow: $111.482B
  • Net debt / EBITDA: 0.302

A bull would say this is not the balance sheet of a company under financial pressure.

5) Investors may be paying for durability, not just growth

Although Apple’s valuation is rich, the bullish interpretation is that the premium exists because the market sees Apple as unusually dependable. Its ecosystem may support recurring revenue, repeat device purchases, and durable profitability, which can justify paying more than for a more cyclical or less sticky business.

Bear Case

The strongest bear case is not that Apple is weak operationally. It is that the stock may already reflect a lot of optimism, while some balance-sheet and payout choices reduce room for disappointment.

1) Valuation looks rich

Apple trades at:

  • P/E: 37.23
  • P/S: 10.04
  • P/B: 42.63
  • P/FCF: 35.09
  • EV/EBITDA: 28.57
  • Earnings yield: 2.70%
  • FCF yield: 2.85%

For a beginner, that means investors are paying a very high price for each dollar of current fundamentals. If growth slows or market sentiment cools, the valuation multiple could fall even if the business remains solid.

2) Relative valuation looks stretched versus several peers

Against peers, Apple often looks more expensive even when peers show stronger margins or balance-sheet flexibility.

Apple vs Microsoft

  • Apple P/E: 37.23
  • Microsoft P/E: 23.17
  • Apple EV/EBITDA: 28.57
  • Microsoft EV/EBITDA: 14.56
  • Apple P/B: 42.63
  • Microsoft P/B: 7.00
  • Apple operating margin: 32.64%
  • Microsoft operating margin: 46.80%
  • Apple net margin: 27.15%
  • Microsoft net margin: 39.34%
  • Apple debt-to-equity: 0.795
  • Microsoft debt-to-equity: 0.137

Apple vs Meta

  • Apple P/E: 37.23
  • Meta P/E: 20.85
  • Apple EV/EBITDA: 28.57
  • Meta EV/EBITDA: 13.60
  • Apple P/S: 10.04
  • Meta P/S: 6.88
  • Apple operating margin: 32.64%
  • Meta operating margin: 41.21%
  • Apple net margin: 27.15%
  • Meta net margin: 32.84%
  • Apple current ratio: 1.07
  • Meta current ratio: 2.35

Apple vs Alphabet

  • Apple P/E: 37.23
  • Alphabet P/E: 27.18
  • Apple EV/EBITDA: 28.57
  • Alphabet EV/EBITDA: 20.13
  • Apple gross margin: 47.86%
  • Alphabet gross margin: 60.37%
  • Apple current ratio: 1.07
  • Alphabet current ratio: 1.92
  • Apple debt-to-equity: 0.795
  • Alphabet debt-to-equity: 0.189

A bear would argue that Apple is not just expensive by itself; it is expensive compared with several large peers that look stronger on some financial measures.

3) Shareholder payouts exceeded free cash flow

  • Buybacks: $90.7B
  • Dividends: $15.4B
  • Combined: $106.1B
  • Free cash flow: $98.8B

Returning more cash than the business generated in free cash flow may be acceptable in some years, but it leaves less margin for error than if payouts were clearly covered.

4) Balance sheet is solid, but not ultra-conservative

  • Current ratio: 1.07
  • Quick ratio: 1.02
  • Total debt: $112.377B
  • Total equity: $73.733B

A bear would say Apple’s reputation can make investors assume the balance sheet is fortress-like, but the actual figures look more moderate than that.

5) Limited upside to cited analyst targets

  • Current price: $308.63
  • Consensus target: $327
  • Median target: $325
  • Target low: $253

That means:

  • Typical target upside is only about 5% to 6%
  • The low target is about 18% below current price

A bear would say that is not a large cushion given the premium valuation.

Red Flags

  • Shareholder returns exceeded free cash flow in FY2025:
    • $106.1B returned vs $98.8B FCF
    • About $7.4B above free cash flow
  • Retained earnings are negative: -$14.3B
  • Interest expense = 0 and interest coverage = 0 despite $112.377B of debt, which looks like a data inconsistency
  • Operating cash flow ($111.482B) was slightly below net income ($112.010B); not alarming, but not a strong cash-over-earnings signal
  • Liquidity is only modest:
    • Current ratio: 1.07
    • Quick ratio: 1.02
  • Valuation is rich, including:
    • P/E 37.23
    • P/B 42.63
    • EV/EBITDA 28.57
    • Earnings yield 2.70%
    • FCF yield 2.85%
  • Relative to several peers, Apple looks expensive even where peers show:
    • higher margins
    • stronger liquidity
    • lower leverage

What Would Need to Be True

To justify owning Apple at the figures above, these are the key research questions a beginner investor would want answered:

  1. Can Apple sustain its very high profitability?
    Will 47.86% gross margin, 32.64% operating margin, and 27.15% net margin hold up, or are they vulnerable to competition, regulation, or product mix changes?

  2. Is the ecosystem strong enough to keep recurring revenue growing?
    Are services like the App Store, AppleCare, cloud, Apple Music, Apple TV+, Apple Arcade, Apple Fitness+, Apple News+, Apple Pay, Apple Card, advertising, and licensing continuing to deepen customer loyalty and spending?

  3. Are the high returns on capital durable?
    Do figures like 49.57% ROIC and 62.33% ROCE reflect a lasting business advantage, or are they being boosted by accounting structure and capital returns in a way that may not persist?

  4. Can earnings and free cash flow keep growing enough to support the current valuation?
    With P/E 37.23, P/FCF 35.09, and EV/EBITDA 28.57, what level of future growth is required for those prices to make sense?

  5. Will investors continue awarding Apple a premium multiple versus peers?
    Why should Apple trade above Microsoft, Meta, and Alphabet on several valuation measures if those peers often have stronger margins, liquidity, or lower leverage?

  6. Is shareholder return policy sustainable?
    Can Apple continue $90.711B in buybacks and $15.421B in dividends if free cash flow remains around $98.767B, or would payouts need to slow?

  7. Is the balance sheet conservative enough for the current strategy?
    Are $112.377B of total debt, $76.443B of net debt, current ratio 1.07, and quick ratio 1.02 acceptable given the scale of buybacks and dividends?

  8. What explains the accounting and data-quality anomalies?
    Why does the dataset show interest expense 0 and interest coverage 0 despite substantial debt, and how should that affect confidence in the reported ratios?

  9. Does negative retained earnings matter here?
    Is -$14.3B retained earnings simply the result of aggressive capital returns, or could it signal reduced balance-sheet flexibility over time?

  10. Is there enough upside versus downside at the current price?
    If the stock is at $308.63, with a $327 consensus target, $325 median target, and $253 low target, what specific business outcomes would justify the current price and reduce the risk of multiple compression?

Glossary

  • Balance sheet: A snapshot of what a company owns, owes, and what is left for shareholders.
  • Book value: The accounting value of shareholder equity on the balance sheet.
  • Buybacks: When a company repurchases its own shares, reducing the number of shares outstanding.
  • Capital allocation: How management chooses to use company cash, such as reinvesting, paying dividends, repaying debt, or buying back stock.
  • Capex (capital spending): Money spent on long-term assets like equipment, facilities, or infrastructure.
  • Cash ratio: A liquidity measure using only cash to cover short-term liabilities.
  • Consensus target: The average stock-price target from a group of analysts.
  • Consumer Electronics: An industry focused on devices sold to consumers, like phones, computers, and wearables.
  • Current ratio: Current assets divided by current liabilities; a basic measure of short-term financial flexibility.
  • Debt-to-equity: Debt divided by shareholder equity; shows how leveraged a company is.
  • Dividends: Cash payments made by a company to shareholders.
  • EBITDA: Earnings before interest, taxes, depreciation, and amortization; a rough measure of operating profit.
  • Earnings yield: Earnings per share divided by share price; the inverse of the P/E ratio.
  • Enterprise value (EV): Total company value including both equity and debt, minus cash.
  • EV/EBITDA: Enterprise value divided by EBITDA; a valuation measure comparing total company value to operating profit.
  • EV/Sales: Enterprise value divided by revenue; a valuation measure using total company value instead of just stock market value.
  • FCF yield: Free cash flow divided by market value; shows cash generation relative to stock price.
  • Forensic analysis: A close review of financial statements to look for quality, consistency, or risk issues.
  • Free cash flow (FCF): Cash left after running the business and making necessary capital investments.
  • Gross margin: Gross profit divided by revenue; shows how much of each sales dollar is left after direct costs.
  • Gross profit: Revenue minus the direct costs of producing and delivering goods or services.
  • Interest coverage: Operating profit divided by interest expense; shows how easily a company can pay interest.
  • Liquidity: A company’s ability to meet short-term obligations.
  • Market capitalization: Share price multiplied by shares outstanding; the stock market’s total value for the company.
  • Median target: The middle stock-price target among a group of analysts.
  • Moat: A durable competitive advantage that helps a company defend profits over time.
  • Multiple compression: When investors become willing to pay a lower valuation multiple, which can hurt the stock price even if the business stays healthy.
  • NASDAQ: A major U.S. stock exchange where shares are traded.
  • Net debt: Total debt minus cash.
  • Net debt / EBITDA: Net debt divided by EBITDA; shows debt burden relative to operating earnings.
  • Net income: Profit after all expenses, interest, and taxes; the “bottom line.”
  • Net margin: Net income divided by revenue; shows profit kept from each dollar of sales after all expenses.
  • Operating cash flow (OCF): Cash generated from normal business operations.
  • Operating income: Profit after normal operating expenses but before interest and taxes.
  • Operating margin: Operating income divided by revenue; shows operating profitability.
  • P/B (price-to-book): Share price compared with book value per share, or market value compared with equity.
  • P/E (price-to-earnings): Share price divided by earnings per share; shows how much investors pay for each dollar of profit.
  • P/FCF (price-to-free-cash-flow): Stock price or market value divided by free cash flow.
  • P/S (price-to-sales): Stock price or market value divided by revenue.
  • Peer: Another company used for comparison.
  • PEG (price/earnings-to-growth): P/E ratio compared with expected earnings growth.
  • Pricing power: The ability to raise prices without losing too many customers.
  • Quick ratio: A stricter liquidity measure that excludes some less-liquid current assets.
  • Recurring revenue: Revenue that tends to repeat regularly, such as subscriptions or service fees.
  • Retained earnings: Cumulative profits kept in the business after dividends and certain adjustments.
  • ROA (return on assets): Profit generated from the company’s assets.
  • ROCE (return on capital employed): Profit generated from capital used in the business.
  • ROE (return on equity): Profit generated relative to shareholder equity.
  • ROIC (return on invested capital): Profit generated from the capital invested in the business; often used to judge business quality.
  • Shareholder equity: Assets minus liabilities; the accounting value left for shareholders.
  • Valuation: How expensive or cheap a stock appears relative to business fundamentals.
  • Valuation multiple: A ratio comparing stock price or company value to earnings, sales, cash flow, or another metric.

This report was generated by AI from public financial data for educational purposes only. It is not financial advice. Language models make mistakes — verify all figures independently before making any investment decision.

Raw lens outputs
Business Quality
Here’s a plain-English, beginner-friendly view of Apple based only on the data you provided.

## What the company actually does

Apple is a **Technology** company in the **Consumer Electronics** industry. In simple terms, it mainly sells consumer devices and then makes additional money from services around those devices.

The profile says Apple designs, makes, and sells:

- **iPhone** smartphones
- **Mac** computers
- **iPad** tablets
- Wearables and accessories like **AirPods**, **Apple Watch**, **Apple TV**, **Beats**, and **HomePod**

It also sells services tied to those devices, including:

- **App Store**
- **AppleCare**
- cloud services
- subscriptions like **Apple Music**, **Apple TV+**, **Apple Arcade**, **Apple Fitness+**, and **Apple News+**
- payments/financial services like **Apple Pay** and **Apple Card**
- advertising
- intellectual property licensing

So the business model looks like this:

1. Sell a lot of hardware.
2. Keep customers using Apple’s software, app marketplace, subscriptions, and support services.
3. Earn repeat revenue from that installed customer base.

That combination matters because hardware sales can be one-time purchases, while subscriptions, app sales, support plans, and payment services can recur over time.

---

## How it makes money

The core money engine is straightforward:

- Apple generated **$416.161 billion** in revenue in fiscal year 2025.
- Gross profit was **$195.201 billion**.

**Revenue** means total sales before expenses.  
**Gross profit** means sales minus the direct cost of making and delivering products and services.

Its **gross margin** was **47.86%**, meaning Apple kept about **48 cents of gross profit from every $1 of sales** before paying for things like R&D, administration, and other operating costs.

After operating expenses, Apple produced:

- **Operating income:** **$133.050 billion**
- **Operating margin:** **32.64%**

**Operating margin** shows how much profit is left after normal business costs. A 32.64% operating margin means Apple kept about **33 cents per dollar of revenue** after those costs.

After taxes and everything else:

- **Net income:** **$112.010 billion**
- **Net margin:** **27.15%**

**Net income** is the “bottom line” profit after all expenses.  
A **27.15% net margin** means Apple kept about **27 cents in profit from every $1 of revenue**.

That is a very large absolute profit pool.

The cash generation is also strong:

- **Operating cash flow:** **$111.482 billion**
- **Capital spending (capex):** **$12.715 billion**
- **Free cash flow:** **$98.767 billion**

**Free cash flow** is the cash left after running the business and paying for necessary investments like equipment and facilities. Investors watch it closely because it is cash that can be used for dividends, buybacks, debt repayment, or acquisitions.

Apple used that cash heavily for shareholder returns in 2025:

- **Dividends paid:** **$15.421 billion**
- **Buybacks:** **$90.711 billion**

**Buybacks** mean the company repurchases its own shares, reducing the share count.

---

## How big it is

Apple is enormous by almost any measure in the data:

- **Market capitalization:** **$4.533 trillion**
- **Revenue:** **$416.161 billion**
- **Net income:** **$112.010 billion**
- **Employees:** **166,000**
- **Country:** **US**
- Listed on **NASDAQ**

**Market capitalization** means the stock market’s total value for the company: share price multiplied by shares outstanding. At **$4.533 trillion**, this is one of the biggest companies in the dataset.

For context within the provided peers, Apple’s peers include:

- Alphabet
- Meta
- Microsoft
- NVIDIA
- Sony
- and a few smaller names

Even without peer market caps shown, Apple’s own market cap and revenue figures clearly place it in the top tier of mega-cap companies.

---

## Does the data suggest a durable advantage, or “moat”?

A **moat** means a durable business advantage that helps a company defend profits against competitors over time. Based on the data, there are signs Apple has a moat, though the data does not prove how permanent it is.

### Why the data suggests a moat

#### 1. Very high profitability
Apple’s margins are strong:

- **Gross margin:** **47.86%**
- **Operating margin:** **32.64%**
- **Net margin:** **27.15%**

These are high enough to suggest pricing power, efficient operations, or both.

Against peers provided:

- Apple operating margin: **32.64%**
- Alphabet: **32.70%**
- Meta: **41.21%**
- Microsoft: **46.80%**
- NVIDIA: **64.02%**

Apple is not the highest-margin company in this peer set, but its margins are still very strong for a company centered on consumer electronics hardware plus services.

#### 2. Strong returns on capital
Apple shows very high:

- **ROIC:** **49.57%**
- **ROCE:** **62.33%**
- **ROA:** **33.03%**
- **ROE:** **146.69%**

These are all measures of how efficiently the company turns invested money or assets into profit.

- **ROIC (return on invested capital)** is especially useful for moat discussions because it shows how much profit the company earns on the capital needed to run the business.
- Apple’s **49.57% ROIC** is very
Forensic Accountant
Here’s a forensic-style review of the financial statement data provided for **FY2025** only.

## Bottom line first

**What looks healthy**
- The business is still generating **very large profits and cash flow**:
  - **Net income:** **$112.0B**
  - **Operating cash flow:** **$111.5B**
  - **Free cash flow (FCF):** **$98.8B**
- Profitability is strong:
  - **Gross margin:** **47.9%**
  - **Operating margin:** **32.6%**
  - **Net margin:** **27.2%**
- Debt does **not** look overwhelming relative to cash generation:
  - **Total debt:** **$112.4B**
  - **Net debt:** **$76.4B**
  - **Net debt / EBITDA:** **0.30**
- Liquidity is adequate, though not conservative:
  - **Current ratio:** **1.07**
  - **Quick ratio:** **1.02**

**Main red flags**
- Shareholder distributions are running **ahead of free cash flow**:
  - **Buybacks:** **$90.7B**
  - **Dividends:** **$15.4B**
  - Combined: **$106.1B**
  - **Free cash flow:** **$98.8B**
  - That is about **$7.4B more** returned than FCF generated.
- **Retained earnings are negative** at **-$14.3B**.
  - Retained earnings are the cumulative profits kept in the business after dividends and other adjustments. Negative retained earnings can be a sign that a company has distributed a very large amount over time relative to what it has retained.
- Cash generation quality is **good but not stronger than earnings**:
  - **Operating cash flow $111.5B** is actually **slightly below net income $112.0B**
  - That’s close enough to be acceptable, but it does not show a big “cash beats accounting profit” cushion.
- The provided **interest coverage ratio is 0** and **interest expense is 0**, which is internally odd given **total debt of $112.4B**.
  - Since we must rely only on the JSON, I would call this a **data-quality red flag**, not proof of financial distress.

---

# 1) Debt load and debt coverage

## What the numbers say
From the balance sheet and health ratios:
- **Total debt:** **$112.377B**
- **Net debt:** **$76.443B**
- **Cash:** **$35.934B**
- **Total equity:** **$73.733B**
- **Debt-to-equity:** **0.795**
- **Net debt / EBITDA:** **0.302**

### What these terms mean
- **Debt-to-equity** compares debt to shareholder equity. Lower usually means a less leveraged balance sheet.
- **Net debt / EBITDA** compares debt (after subtracting cash) to a rough operating earnings measure. Lower usually means debt is easier to handle.

## My read
### Healthy
- **Net debt / EBITDA of 0.30** is low. That suggests the company’s debt burden is modest relative to operating earnings power.
- **Cash of $35.9B** provides a real buffer.
- Even though **total debt is $112.4B**, the company also produces **EBITDA of $144.4B** and **operating cash flow of $111.5B**, which is strong support.

### Things to watch
- **Debt exceeds equity** in dollar terms:
  - **Total debt $112.4B** vs **equity $73.7B**
- The company is not weak on debt, but the balance sheet is **not ultra-conservative** either.

## Coverage red flag
- The data shows:
  - **Interest expense:** **0**
  - **Interest coverage:** **0**
- **Interest coverage** means operating profit divided by interest expense; it shows how easily a company can pay interest.
- With **$112.4B of debt**, an **interest expense of 0** looks unusual in the dataset.
- So the correct conclusion is:
  - **True interest coverage is not available from this JSON in a reliable way.**
  - The reported **0** should be treated as a **data inconsistency**.

---

# 2) Cash generation quality: operating cash flow vs net income

## What the numbers say
- **Net income:** **$112.010B**
- **Operating cash flow (OCF):** **$111.482B**
- Difference: **OCF is about $528M lower than net income**

### What this means
- **Net income** is accounting profit.
- **Operating cash flow** is the actual cash generated from normal business operations.
- For a beginner investor: when **OCF consistently exceeds net income**, that is often a sign profits are backed by cash. When OCF is much lower, you should ask why.

## My read
### Healthy
- These two numbers are **very close**, which is generally a positive sign.
- There is **no major mismatch** suggesting profits are heavily “paper” profits.

### Slight caution
- OCF is **not above** net income; it is **slightly below** it.
- That is **not a major red flag**, but from a forensic angle I’d prefer to see a clearer cash surplus over earnings.

## Extra support
- **Free cash flow:** **$98.767B**
- **Capex:** **$12.715B**
- This means the company is still converting operating cash into a very large amount of cash
Valuation
Here’s a beginner-friendly read on what **Apple’s current stock price of $308.63** appears to imply based only on the data provided.

## Bottom line

The market is pricing Apple as a **premium-quality, mature large-cap company** with:

- **high profitability**
- **modest but still positive forward earnings growth**
- **very strong cash generation**
- and a valuation that is **more expensive than some mega-cap peers on earnings and enterprise-value measures**, but **not as aggressive as the fastest-growth names on every metric**

Put simply: the current price suggests investors are willing to pay up for Apple’s consistency and profitability, and they already expect **continued earnings growth**, but not necessarily explosive growth.

---

## 1) What the main valuation ratios say

A **valuation multiple** is a shortcut investors use to compare price with a business metric like earnings, sales, or cash flow.

### P/E: Price-to-Earnings
**P/E = stock price divided by earnings per share.**  
It tells you how much investors are paying for each $1 of profit.

- **Apple P/E:** **37.23**
- Peers:
  - **GOOGL:** 27.18
  - **META:** 20.85
  - **MSFT:** 23.17
  - **NVDA:** 29.70

Apple’s **37.23 P/E** is the **highest** among the peer fundamentals provided. That means the market is paying more for Apple’s current earnings than for these peers’ current earnings.

### Earnings yield
**Earnings yield** is the inverse of P/E.  
It shows earnings as a percentage of the stock price.

- **Apple earnings yield:** **2.70%**
- Peers:
  - GOOGL: 3.68%
  - META: 4.78%
  - MSFT: 4.32%
  - NVDA: 3.37%

Because Apple’s earnings yield is the **lowest**, investors are accepting a lower current earnings return from Apple shares than from these peers. That usually means the market sees Apple as especially dependable, or expects enough future growth to justify the richer price.

---

## 2) How Apple is priced versus peers on growth-adjusted valuation

### PEG: Price/Earnings-to-Growth
**PEG compares the P/E ratio to expected growth.**  
A lower PEG can suggest a stock’s valuation is more reasonable relative to growth; a higher PEG can suggest investors are paying more for each unit of growth.

- **Apple PEG:** **1.29**
- Peers:
  - GOOGL: 0.59
  - META: 3.35
  - MSFT: 0.78
  - NVDA: 0.27

Apple’s **1.29 PEG** is:
- **higher than GOOGL, MSFT, and NVDA**
- **lower than META**

That suggests Apple’s valuation is **not cheap relative to growth**, but also not the most stretched in this peer set. The market is paying a premium for Apple’s expected growth, though not at META’s level.

This is important: Apple’s **high P/E** combined with a **moderate PEG** implies investors are not just paying for current profits; they are also paying for a belief that Apple can still grow earnings at a respectable pace.

---

## 3) Sales-based valuation: premium, but not the highest

### P/S: Price-to-Sales
**P/S compares market value to revenue.**  
It is useful when comparing how richly companies are valued relative to their sales.

- **Apple P/S:** **10.04**
- Peers:
  - GOOGL: 10.30
  - META: 6.88
  - MSFT: 9.11
  - NVDA: 18.62

Apple’s **10.04 P/S** is:
- roughly in line with **GOOGL**
- above **META** and **MSFT**
- well below **NVDA**

So the market values Apple’s revenue more richly than Meta’s and Microsoft’s, but far less richly than NVIDIA’s. That tells you the market sees Apple’s sales base as very valuable, likely because of its margins and durability.

### EV/Sales
**Enterprise value (EV)** includes both equity and debt, so **EV/Sales** is a fuller valuation measure than P/S.

- **Apple EV/Sales:** **10.15**
- Peers:
  - GOOGL: 10.43
  - META: 7.18
  - MSFT: 9.19
  - NVDA: 18.61

Same overall message: Apple is priced at a premium to Meta and Microsoft on sales, near Alphabet, and below NVIDIA.

---

## 4) Cash-flow valuation: expensive, but not the most expensive

### P/FCF: Price-to-Free-Cash-Flow
**Free cash flow (FCF)** is the cash left after operating expenses and capital spending. It matters because it can be used for dividends, buybacks, debt reduction, or reinvestment.

- **Apple P/FCF:** **35.09**
- Peers:
  - GOOGL: 67.56
  - META: 30.66
  - MSFT: 39.78
  - NVDA: 39.63

Apple is:
- more expensive than **META**
- cheaper than **GOOGL, MSFT, and NVDA**

### FCF yield
**FCF yield** is free cash flow divided by market value. Higher can mean more cash generation relative to the price paid.

- **Apple FCF yield:** **2.85%**
Short Seller
Here is the strongest **honest bear case** against owning Apple **using only the JSON provided**.

## Bottom line

The main bearish argument is **not that the business is bad**. The business looks highly profitable. The stronger bear case is that **the stock price may already assume a lot of good news**, while the balance sheet and payout choices leave less room for error than many beginners might expect.

In simple terms: **great company does not always mean low-risk stock**.

---

## 1) Valuation risk: investors are paying a very high price for each dollar of fundamentals

**Valuation** means how expensive a stock is relative to the company’s sales, earnings, book value, or cash flow.

Apple’s valuation metrics are rich:

- **P/E ratio:** **37.23**  
  - This means investors are paying about **37 times earnings**.
- **Price-to-sales (P/S):** **10.04**  
  - Investors are paying about **10 times annual revenue**.
- **Price-to-book (P/B):** **42.63**  
  - Investors are paying over **42 times book value**, which is extremely high on its face.
- **Price-to-free-cash-flow (P/FCF):** **35.09**
- **EV/EBITDA:** **28.57**  
  - Enterprise value (company value including debt) relative to EBITDA, a rough operating cash profit measure.
- **Earnings yield:** **2.70%**
- **Free cash flow yield:** **2.85%**

For a beginner, **earnings yield** is just the inverse of the P/E ratio. A **2.70% earnings yield** means the stock is priced as if the company only “earns” 2.7% on the market price you pay today. That is a thin margin of safety if growth disappoints.

### Why this matters
When a stock is priced this richly, the risk is not necessarily that results collapse. The risk is that:
- growth slows even a little,
- margins stop improving,
- or investors simply decide to pay a lower multiple.

If that happens, the stock can fall **even if the company remains strong**.

### A concrete example from the data
- Current price: **$308.63**
- Analyst consensus target: **$327**
- Median target: **$325**

That implies only about **5% to 6% upside** to the typical analyst target from the current price:
- $327 vs $308.63 is roughly **5.95%**
- $325 vs $308.63 is roughly **5.30%**

That is not much upside cushion considering the valuation is already elevated.

Also, the **target low is $253**, which is about **18% below** the current price:
- ($308.63 - $253) / $308.63 ≈ **18.0%**

So even analysts as a group are saying the possible downside range is meaningful.

---

## 2) Relative valuation looks stretched versus several peers in the provided data

Using only the peer fundamentals shown:

### Apple vs Microsoft
- Apple P/E: **37.23**
- Microsoft P/E: **23.17**

- Apple EV/EBITDA: **28.57**
- Microsoft EV/EBITDA: **14.56**

- Apple P/B: **42.63**
- Microsoft P/B: **7.00**

Apple is trading at a much higher multiple than Microsoft on these measures, despite Microsoft showing:
- higher **operating margin**: **46.80%** vs Apple **32.64%**
- higher **net margin**: **39.34%** vs Apple **27.15%**
- much lower **debt-to-equity**: **0.137** vs Apple **0.795**

### Apple vs Meta
- Apple P/E: **37.23**
- Meta P/E: **20.85**

- Apple EV/EBITDA: **28.57**
- Meta EV/EBITDA: **13.60**

- Apple P/S: **10.04**
- Meta P/S: **6.88**

Meta also has:
- higher **operating margin**: **41.21%**
- higher **net margin**: **32.84%**
- stronger **current ratio**: **2.35** vs Apple **1.07**

### Apple vs Alphabet
- Apple P/E: **37.23**
- Alphabet P/E: **27.18**

- Apple EV/EBITDA: **28.57**
- Alphabet EV/EBITDA: **20.13**

Alphabet also has:
- higher **gross margin**: **60.37%** vs Apple **47.86%**
- stronger liquidity with **current ratio 1.92** vs Apple **1.07**
- much lower **debt-to-equity 0.189** vs Apple **0.795**

### Why this matters
A bear would say the stock is not just expensive in isolation — it also looks expensive **relative to multiple large peers listed in the JSON**, while those peers often show stronger balance-sheet flexibility and, in some cases, stronger margins.

That creates **multiple compression risk**.  
**Multiple compression** means investors stop paying such a high valuation multiple, even if profits remain solid.

---

## 3) Balance sheet risk is easy to underestimate

Apple is profitable, but the balance sheet is not as conservative as the brand reputation alone might make people assume.

### Liquidity is only just above 1x
**Liquidity** means ability to cover short-term bills.

- **Current ratio:** **1.07**
- **Quick ratio:** **1.02**
- **Cash ratio
Data snapshot (figures as of generation)
{
  "ohlc": [
    {
      "low": 256.53,
      "date": "2026-04-08",
      "high": 259.75,
      "open": 258.45,
      "close": 258.9,
      "volume": 41032800
    },
    {
      "low": 256.07,
      "date": "2026-04-09",
      "high": 261.12,
      "open": 259,
      "close": 260.49,
      "volume": 28121600
    },
    {
      "low": 259.02,
      "date": "2026-04-10",
      "high": 262.19,
      "open": 259.98,
      "close": 260.48,
      "volume": 31291500
    },
    {
      "low": 256.66,
      "date": "2026-04-13",
      "high": 260.18,
      "open": 259.73,
      "close": 259.2,
      "volume": 36234700
    },
    {
      "low": 257.19,
      "date": "2026-04-14",
      "high": 261.93,
      "open": 259.25,
      "close": 258.83,
      "volume": 48370710
    },
    {
      "low": 257.81,
      "date": "2026-04-15",
      "high": 266.56,
      "open": 258.16,
      "close": 266.43,
      "volume": 49913510
    },
    {
      "low": 261.27,
      "date": "2026-04-16",
      "high": 267.16,
      "open": 266.8,
      "close": 263.4,
      "volume": 43323112
    },
    {
      "low": 266.72,
      "date": "2026-04-17",
      "high": 272.3,
      "open": 266.96,
      "close": 270.23,
      "volume": 61436228
    },
    {
      "low": 270.29,
      "date": "2026-04-20",
      "high": 274.27,
      "open": 270.33,
      "close": 273.05,
      "volume": 36590200
    },
    {
      "low": 265.4,
      "date": "2026-04-21",
      "high": 272.8,
      "open": 271.5,
      "close": 266.17,
      "volume": 50209800
    },
    {
      "low": 266.87,
      "date": "2026-04-22",
      "high": 273.74,
      "open": 267.82,
      "close": 273.17,
      "volume": 43249204
    },
    {
      "low": 271.65,
      "date": "2026-04-23",
      "high": 275.77,
      "open": 275.05,
      "close": 273.43,
      "volume": 33399639
    },
    {
      "low": 269.65,
      "date": "2026-04-24",
      "high": 273.06,
      "open": 272.76,
      "close": 271.06,
      "volume": 38157110
    },
    {
      "low": 265.07,
      "date": "2026-04-27",
      "high": 268.36,
      "open": 266.09,
      "close": 267.61,
      "volume": 41466800
    },
    {
      "low": 268.66,
      "date": "2026-04-28",
      "high": 273.23,
      "open": 272.33,
      "close": 270.71,
      "volume": 40018940
    },
    {
      "low": 267.04,
      "date": "2026-04-29",
      "high": 271.04,
      "open": 267.55,
      "close": 270.22,
      "volume": 30047900
    },
    {
      "low": 268.14,
      "date": "2026-04-30",
      "high": 276,
      "open": 270.5,
      "close": 271.35,
      "volume": 91848230
    },
    {
      "low": 278.37,
      "date": "2026-05-01",
      "high": 287.22,
      "open": 278.86,
      "close": 280.14,
      "volume": 79915442
    },
    {
      "low": 274.86,
      "date": "2026-05-04",
      "high": 280.63,
      "open": 279.65,
      "close": 276.83,
      "volume": 46668401
    },
    {
      "low": 276.5,
      "date": "2026-05-05",
      "high": 284.57,
      "open": 276.93,
      "close": 284.18,
      "volume": 49311712
    },
    {
      "low": 281.07,
      "date": "2026-05-06",
      "high": 288.03,
      "open": 281.92,
      "close": 287.51,
      "volume": 58336100
    },
    {
      "low": 285.78,
      "date": "2026-05-07",
      "high": 292.13,
      "open": 289.27,
      "close": 287.44,
      "volume": 45224300
    },
    {
      "low": 290,
      "date": "2026-05-08",
      "high": 294.76,
      "open": 290.01,
      "close": 293.32,
      "volume": 52692800
    },
    {
      "low": 290.23,
      "date": "2026-05-11",
      "high": 293.88,
      "open": 291.98,
      "close": 292.68,
      "volume": 42247300
    },
    {
      "low": 292.56,
      "date": "2026-05-12",
      "high": 295.27,
      "open": 292.56,
      "close": 294.8,
      "volume": 45748129
    },
    {
      "low": 293.5,
      "date": "2026-05-13",
      "high": 300.92,
      "open": 293.5,
      "close": 298.87,
      "volume": 52684300
    },
    {
      "low": 295.38,
      "date": "2026-05-14",
      "high": 300.45,
      "open": 299.82,
      "close": 298.21,
      "volume": 35324922
    },
    {
      "low": 296.52,
      "date": "2026-05-15",
      "high": 303.2,
      "open": 297.9,
      "close": 300.23,
      "volume": 54862836
    },
    {
      "low": 294.91,
      "date": "2026-05-18",
      "high": 300.66,
      "open": 300.24,
      "close": 297.84,
      "volume": 34483000
    },
    {
      "low": 296.35,
      "date": "2026-05-19",
      "high": 300.51,
      "open": 296.97,
      "close": 298.97,
      "volume": 42243600
    },
    {
      "low": 298.08,
      "date": "2026-05-20",
      "high": 302.8,
      "open": 298.18,
      "close": 302.25,
      "volume": 38229843
    },
    {
      "low": 300.4,
      "date": "2026-05-21",
      "high": 305.54,
      "open": 301.06,
      "close": 304.99,
      "volume": 42965126
    },
    {
      "low": 305.84,
      "date": "2026-05-22",
      "high": 311.4,
      "open": 306.12,
      "close": 308.82,
      "volume": 43670223
    },
    {
      "low": 307.67,
      "date": "2026-05-26",
      "high": 311.82,
      "open": 309.56,
      "close": 308.33,
      "volume": 48000500
    },
    {
      "low": 308.3,
      "date": "2026-05-27",
      "high": 313.26,
      "open": 308.33,
      "close": 310.85,
      "volume": 50430919
    },
    {
      "low": 309.57,
      "date": "2026-05-28",
      "high": 312.8,
      "open": 310.68,
      "close": 312.51,
      "volume": 48220400
    },
    {
      "low": 309.53,
      "date": "2026-05-29",
      "high": 315,
      "open": 311.77,
      "close": 312.06,
      "volume": 70026800
    },
    {
      "low": 305.02,
      "date": "2026-06-01",
      "high": 310.94,
      "open": 309.63,
      "close": 306.31,
      "volume": 48849933
    },
    {
      "low": 306.69,
      "date": "2026-06-02",
      "high": 315.45,
      "open": 307.46,
      "close": 315.2,
      "volume": 44534716
    },
    {
      "low": 308.85,
      "date": "2026-06-03",
      "high": 316.94,
      "open": 314.18,
      "close": 310.26,
      "volume": 50836705
    },
    {
      "low": 309.65,
      "date": "2026-06-04",
      "high": 313.54,
      "open": 313.23,
      "close": 311.23,
      "volume": 44869134
    },
    {
      "low": 307.15,
      "date": "2026-06-05",
      "high": 315.17,
      "open": 312.86,
      "close": 307.34,
      "volume": 65310502
    },
    {
      "low": 301.17,
      "date": "2026-06-08",
      "high": 317.4,
      "open": 308.74,
      "close": 301.54,
      "volume": 77949100
    },
    {
      "low": 287.78,
      "date": "2026-06-09",
      "high": 300.75,
      "open": 300.27,
      "close": 290.55,
      "volume": 70108847
    },
    {
      "low": 287.38,
      "date": "2026-06-10",
      "high": 294.75,
      "open": 290.74,
      "close": 291.58,
      "volume": 52793300
    },
    {
      "low": 289.59,
      "date": "2026-06-11",
      "high": 297,
      "open": 293.72,
      "close": 295.63,
      "volume": 42572500
    },
    {
      "low": 289.62,
      "date": "2026-06-12",
      "high": 297.14,
      "open": 296.03,
      "close": 291.13,
      "volume": 38784789
    },
    {
      "low": 291.7,
      "date": "2026-06-15",
      "high": 297.78,
      "open": 294.12,
      "close": 296.42,
      "volume": 45732600
    },
    {
      "low": 293.97,
      "date": "2026-06-16",
      "high": 300.48,
      "open": 295.25,
      "close": 299.24,
      "volume": 39874404
    },
    {
      "low": 294.36,
      "date": "2026-06-17",
      "high": 302.07,
      "open": 300.85,
      "close": 295.95,
      "volume": 42745100
    },
    {
      "low": 295.62,
      "date": "2026-06-18",
      "high": 300.57,
      "open": 298.11,
      "close": 298.01,
      "volume": 85962201
    },
    {
      "low": 296.76,
      "date": "2026-06-22",
      "high": 302.42,
      "open": 297.31,
      "close": 297.01,
      "volume": 44879914
    },
    {
      "low": 294.18,
      "date": "2026-06-23",
      "high": 301.64,
      "open": 297.54,
      "close": 294.3,
      "volume": 52010929
    },
    {
      "low": 292.94,
      "date": "2026-06-24",
      "high": 299.7,
      "open": 295.36,
      "close": 293.08,
      "volume": 53081900
    },
    {
      "low": 273.75,
      "date": "2026-06-25",
      "high": 288.8,
      "open": 287.4,
      "close": 275.15,
      "volume": 107253700
    },
    {
      "low": 274.21,
      "date": "2026-06-26",
      "high": 285.95,
      "open": 275,
      "close": 283.78,
      "volume": 261775500
    },
    {
      "low": 279.85,
      "date": "2026-06-29",
      "high": 288.37,
      "open": 286.73,
      "close": 281.74,
      "volume": 66427002
    },
    {
      "low": 280.7,
      "date": "2026-06-30",
      "high": 289.94,
      "open": 281.17,
      "close": 289.36,
      "volume": 65100200
    },
    {
      "low": 289.2,
      "date": "2026-07-01",
      "high": 296.59,
      "open": 293.44,
      "close": 294.38,
      "volume": 50164232
    },
    {
      "low": 293.68,
      "date": "2026-07-02",
      "high": 309.42,
      "open": 294.12,
      "close": 308.63,
      "volume": 75400626
    }
  ],
  "peers": [
    {
      "price": 359.91,
      "symbol": "GOOGL",
      "companyName": "Alphabet Inc."
    },
    {
      "price": 582.9,
      "symbol": "META",
      "companyName": "Meta Platforms, Inc."
    },
    {
      "price": 390.49,
      "symbol": "MSFT",
      "companyName": "Microsoft Corporation"
    },
    {
      "price": 194.83,
      "symbol": "NVDA",
      "companyName": "NVIDIA Corporation"
    },
    {
      "price": 112.84,
      "symbol": "NXT",
      "companyName": "Nextpower Inc."
    },
    {
      "price": 0.5833,
      "symbol": "RIME",
      "companyName": "Algorhythm Holdings, Inc."
    },
    {
      "price": 20.79,
      "symbol": "SONY",
      "companyName": "Sony Group Corporation"
    },
    {
      "price": 12.55,
      "symbol": "TBCH",
      "companyName": "Turtle Beach Corporation"
    }
  ],
  "quote": {
    "name": "Apple Inc.",
    "open": 294.085,
    "price": 308.63,
    "change": 14.25,
    "dayLow": 293.68,
    "symbol": "AAPL",
    "volume": 71897697,
    "dayHigh": 309.42,
    "yearLow": 201.5,
    "exchange": "NASDAQ",
    "yearHigh": 317.4,
    "marketCap": 4532958682280,
    "priceAvg50": 293.523,
    "priceAvg200": 270.69144,
    "previousClose": 294.38,
    "changePercentage": 4.84068
  },
  "grades": [
    {
      "date": "2026-06-25",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2026-06-22",
      "action": "downgrade",
      "company": "KGI Securities",
      "toGrade": "Hold",
      "fromGrade": "Outperform"
    },
    {
      "date": "2026-06-18",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2026-06-09",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2026-06-09",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2026-06-09",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2026-06-09",
      "action": "maintain",
      "company": "TD Cowen",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2026-06-09",
      "action": "maintain",
      "company": "Maxim Group",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2026-06-05",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2026-05-26",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2026-05-14",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2026-05-14",
      "action": "maintain",
      "company": "Tigress Financial",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2026-05-08",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2026-05-01",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2026-05-01",
      "action": "maintain",
      "company": "TD Cowen",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2026-05-01",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2026-05-01",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2026-05-01",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2026-05-01",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2026-05-01",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2026-05-01",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2026-05-01",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Underweight",
      "fromGrade": "Underweight"
    },
    {
      "date": "2026-05-01",
      "action": "maintain",
      "company": "Maxim Group",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2026-04-28",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2026-04-21",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2026-04-21",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2026-04-17",
      "action": "upgrade",
      "company": "BNP Paribas",
      "toGrade": "Outperform",
      "fromGrade": "Neutral"
    },
    {
      "date": "2026-04-14",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2026-03-31",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2026-03-27",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2026-03-23",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2026-03-23",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2026-03-05",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2026-03-05",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2026-03-03",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Underweight",
      "fromGrade": "Underweight"
    },
    {
      "date": "2026-02-17",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2026-01-30",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2026-01-30",
      "action": "maintain",
      "company": "TD Cowen",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2026-01-30",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2026-01-30",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2026-01-30",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2026-01-30",
      "action": "upgrade",
      "company": "Maxim Group",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2026-01-30",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Underweight",
      "fromGrade": "Underweight"
    },
    {
      "date": "2026-01-30",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2026-01-30",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2026-01-26",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2026-01-26",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2026-01-20",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2026-01-20",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2026-01-13",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2026-01-12",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2026-01-09",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-12-17",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-12-09",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-12-08",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-12-08",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-12-05",
      "action": "maintain",
      "company": "CLSA",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-12-02",
      "action": "maintain",
      "company": "Loop Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-11-04",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2025-10-31",
      "action": "upgrade",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Underperform"
    },
    {
      "date": "2025-10-31",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-10-31",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2025-10-31",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-10-31",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Underweight",
      "fromGrade": "Underweight"
    },
    {
      "date": "2025-10-31",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-10-31",
      "action": "maintain",
      "company": "Argus Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-10-31",
      "action": "maintain",
      "company": "TD Cowen",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-10-31",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-10-31",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2025-10-31",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-10-31",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-10-31",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2025-10-31",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-10-29",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-10-28",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-10-27",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-10-21",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-10-21",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-10-20",
      "action": "upgrade",
      "company": "Loop Capital",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2025-10-03",
      "action": "downgrade",
      "company": "Jefferies",
      "toGrade": "Underperform",
      "fromGrade": "Hold"
    },
    {
      "date": "2025-10-02",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-09-26",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-09-22",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-09-17",
      "action": "maintain",
      "company": "Tigress Financial",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2025-09-11",
      "action": "downgrade",
      "company": "Phillip Securities",
      "toGrade": "Reduce",
      "fromGrade": "Neutral"
    },
    {
      "date": "2025-09-11",
      "action": "downgrade",
      "company": "DA Davidson",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-09-10",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-09-10",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2025-09-10",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-09-10",
      "action": "maintain",
      "company": "Melius Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-09-09",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-09-08",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2025-09-04",
      "action": "upgrade",
      "company": "MoffettNathanson",
      "toGrade": "Neutral",
      "fromGrade": "Sell"
    },
    {
      "date": "2025-09-03",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-09-03",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-08-27",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-08-25",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-08-21",
      "action": "maintain",
      "company": "Loop Capital",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2025-08-14",
      "action": "maintain",
      "company": "Melius Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-08-13",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-08-08",
      "action": "maintain",
      "company": "Melius Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-08-07",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-08-07",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-08-07",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-08-01",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-08-01",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-08-01",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-08-01",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-08-01",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Underweight",
      "fromGrade": "Underweight"
    },
    {
      "date": "2025-08-01",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-08-01",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2025-08-01",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2025-08-01",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-08-01",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-07-30",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-07-29",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2025-07-25",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2025-07-17",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-07-09",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-07-01",
      "action": "upgrade",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Underperform"
    },
    {
      "date": "2025-06-26",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-06-10",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-06-10",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-06-10",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-06-10",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2025-06-05",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-06-04",
      "action": "downgrade",
      "company": "Needham",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-05-16",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-05-03",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-05-02",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-05-02",
      "action": "downgrade",
      "company": "Jefferies",
      "toGrade": "Underperform",
      "fromGrade": "Hold"
    },
    {
      "date": "2025-05-02",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-05-02",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-05-02",
      "action": "downgrade",
      "company": "Rosenblatt",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-05-02",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-05-02",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-05-01",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-05-01",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-04-30",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Underweight",
      "fromGrade": "Underweight"
    },
    {
      "date": "2025-04-30",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-04-30",
      "action": "maintain",
      "company": "Loop Capital",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2025-04-29",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-04-24",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-04-23",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-04-23",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2025-04-14",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-04-14",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-04-14",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-04-14",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-04-14",
      "action": "upgrade",
      "company": "Keybanc",
      "toGrade": "Sector Weight",
      "fromGrade": "Underweight"
    },
    {
      "date": "2025-04-14",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-04-09",
      "action": "upgrade",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Underperform"
    },
    {
      "date": "2025-04-08",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-04-08",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Underweight",
      "fromGrade": "Underweight"
    },
    {
      "date": "2025-04-08",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-04-07",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-04-04",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-04-03",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-04-03",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-04-03",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2025-04-03",
      "action": "maintain",
      "company": "Tigress Financial",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2025-03-31",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-03-18",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-03-14",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-03-12",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-03-03",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-02-19",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-01-31",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-01-31",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-01-31",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-01-31",
      "action": "maintain",
      "company": "TD Cowen",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-01-31",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-01-31",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-01-31",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Underperform",
      "fromGrade": "Underperform"
    },
    {
      "date": "2025-01-31",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-01-31",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-01-31",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Underweight",
      "fromGrade": "Underweight"
    },
    {
      "date": "2025-01-30",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-01-29",
      "action": "downgrade",
      "company": "Piper Sandler",
      "toGrade": "Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-01-29",
      "action": "downgrade",
      "company": "Oppenheimer",
      "toGrade": "Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-01-28",
      "action": "maintain",
      "company": "TD Cowen",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-01-27",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-01-24",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-01-23",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-01-23",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-01-22",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Underweight",
      "fromGrade": "Underweight"
    },
    {
      "date": "2025-01-21",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-01-21",
      "action": "downgrade",
      "company": "Loop Capital",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-01-21",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-01-21",
      "action": "downgrade",
      "company": "Jefferies",
      "toGrade": "Underperform",
      "fromGrade": "Hold"
    },
    {
      "date": "2025-01-07",
      "action": "downgrade",
      "company": "MoffettNathanson",
      "toGrade": "Sell",
      "fromGrade": "Neutral"
    },
    {
      "date": "2025-01-03",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-01-03",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-12-26",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-12-18",
      "action": "maintain",
      "company": "Daiwa Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-12-13",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2024-12-10",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-12-02",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2024-11-29",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-11-25",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2024-11-20",
      "action": "maintain",
      "company": "Susquehanna",
      "toGrade": "Positive",
      "fromGrade": "Positive"
    },
    {
      "date": "2024-11-15",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2024-11-04",
      "action": "maintain",
      "company": "Loop Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-11-01",
      "action": "maintain",
      "company": "HSBC",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2024-11-01",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-11-01",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-11-01",
      "action": "maintain",
      "company": "Maxim Group",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2024-11-01",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Underweight",
      "fromGrade": "Underweight"
    },
    {
      "date": "2024-11-01",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-11-01",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-10-25",
      "action": "downgrade",
      "company": "Keybanc",
      "toGrade": "Underweight",
      "fromGrade": "Sector Weight"
    },
    {
      "date": "2024-10-21",
      "action": "maintain",
      "company": "CFRA",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-10-09",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2024-10-03",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-10-01",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Underweight",
      "fromGrade": "Underweight"
    },
    {
      "date": "2024-09-25",
      "action": "maintain",
      "company": "New Street Research",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2024-09-24",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-09-19",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-09-16",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-09-10",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-09-10",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-09-10",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-09-10",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2024-09-10",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-09-10",
      "action": "maintain",
      "company": "Maxim Group",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2024-09-10",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2024-09-10",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2024-09-10",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-09-09",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-09-05",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-09-04",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2024-08-28",
      "action": "maintain",
      "company": "Tigress Financial",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2024-08-27",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-08-27",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2024-08-27",
      "action": "maintain",
      "company": "Melius Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-08-27",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2024-08-27",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-08-27",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-08-06",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2024-08-05",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-08-02",
      "action": "maintain",
      "company": "Maxim Group",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2024-08-02",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Underweight",
      "fromGrade": "Underweight"
    },
    {
      "date": "2024-08-02",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-08-02",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-08-02",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-08-02",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-07-29",
      "action": "maintain",
      "company": "TD Cowen",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-07-26",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-07-25",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-07-24",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Underweight",
      "fromGrade": "Underweight"
    },
    {
      "date": "2024-07-24",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2024-07-18",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-07-17",
      "action": "maintain",
      "company": "CFRA",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-07-15",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2024-07-15",
      "action": "upgrade",
      "company": "Loop Capital",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2024-07-11",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-07-11",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-07-10",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-07-09",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2024-07-09",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-07-01",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2024-07-01",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-06-28",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-06-26",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-06-26",
      "action": "upgrade",
      "company": "Rosenblatt",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2024-06-25",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-06-24",
      "action": "maintain",
      "company": "Melius Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-06-21",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-06-18",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2024-06-14",
      "action": "upgrade",
      "company": "Erste Group",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2024-06-12",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-06-11",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2024-06-11",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-06-11",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Underweight",
      "fromGrade": "Underweight"
    },
    {
      "date": "2024-06-11",
      "action": "upgrade",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2024-06-11",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2024-06-11",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2024-06-11",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2024-06-04",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2024-05-30",
      "action": "maintain",
      "company": "Tigress Financial",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2024-05-29",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-05-24",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-05-13",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-05-03",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-05-03",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-05-03",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2024-05-03",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Underweight",
      "fromGrade": "Underweight"
    },
    {
      "date": "2024-05-03",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-05-03",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2024-05-03",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-05-03",
      "action": "upgrade",
      "company": "Itau BBA",
      "toGrade": "Market Perform",
      "fromGrade": "Underperform"
    },
    {
      "date": "2024-05-03",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2024-04-29",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-04-29",
      "action": "upgrade",
      "company": "Bernstein",
      "toGrade": "Outperform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2024-04-22",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2024-04-16",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-04-11",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2024-04-09",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-04-01",
      "action": "maintain",
      "company": "Loop Capital",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2024-03-28",
      "action": "downgrade",
      "company": "DZ Bank",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-03-25",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2024-03-22",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2024-03-21",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-03-21",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-03-12",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-03-08",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-03-05",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2024-02-28",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-02-12",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-02-07",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2024-02-05",
      "action": "maintain",
      "company": "Loop Capital",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2024-02-02",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2024-02-02",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-02-02",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-02-02",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-02-02",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-02-02",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Underweight",
      "fromGrade": "Underweight"
    },
    {
      "date": "2024-01-31",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2024-01-31",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-01-30",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-01-18",
      "action": "upgrade",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2024-01-10",
      "action": "downgrade",
      "company": "Redburn Atlantic",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-01-04",
      "action": "downgrade",
      "company": "Piper Sandler",
      "toGrade": "Neutral",
      "fromGrade": "Overweight"
    },
    {
      "date": "2024-01-02",
      "action": "downgrade",
      "company": "Barclays",
      "toGrade": "Underweight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2023-12-20",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-12-11",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-12-08",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-11-24",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-11-16",
      "action": "maintain",
      "company": "Tigress Financial",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2023-11-03",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-11-03",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-11-03",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2023-11-01",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-10-31",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-10-30",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2023-10-30",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-10-24",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2023-10-16",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-10-09",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2023-10-09",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2023-10-04",
      "action": "downgrade",
      "company": "Keybanc",
      "toGrade": "Sector Weight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-09-28",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-09-27",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2023-09-26",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2023-09-25",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-09-22",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2023-09-21",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-09-19",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-09-19",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2023-09-18",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-09-15",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-09-14",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-09-13",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2023-09-13",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-09-13",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-09-12",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2023-09-08",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-09-07",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-09-07",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-08-17",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-08-04",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-08-04",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-08-04",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-08-04",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-08-04",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-08-04",
      "action": "downgrade",
      "company": "Rosenblatt",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-08-04",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2023-08-02",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-08-01",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-08-01",
      "action": "maintain",
      "company": "TD Cowen",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-07-31",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-07-27",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2023-07-25",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-07-24",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-07-24",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-07-20",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-07-20",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-07-19",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2023-07-17",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-07-11",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-07-05",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2023-06-23",
      "action": "maintain",
      "company": "Tigress Financial",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2023-06-20",
      "action": "maintain",
      "company": "New Street Research",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2023-06-20",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-06-20",
      "action": "downgrade",
      "company": "Tigress Financial",
      "toGrade": "Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2023-06-16",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-16",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-16",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-15",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2023-06-15",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-15",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2023-06-15",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-14",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2023-06-13",
      "action": "downgrade",
      "company": "UBS",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-07",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-06-06",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-06-06",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-06",
      "action": "downgrade",
      "company": "DA Davidson",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-06",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-06-06",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-06",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-06-05",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-06-05",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-06-05",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2023-06-02",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-06-02",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-05-31",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-05-22",
      "action": "downgrade",
      "company": "Loop Capital",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-05-22",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2023-05-12",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2023-05-05",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-05-05",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-05-05",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-05-05",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-05-05",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-05-05",
      "action": "maintain",
      "company": "Atlantic Equities",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-05-05",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-05-05",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-05-05",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2023-05-05",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2023-05-05",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-05-05",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-05-04",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-05-02",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-05-01",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2023-04-30",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-04-28",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-04-27",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2023-04-26",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2023-04-26",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-04-19",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-04-17",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-04-13",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-04-13",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-04-05",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2023-04-05",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-03-30",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-03-10",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-03-10",
      "action": "downgrade",
      "company": "LightShed Partners",
      "toGrade": "Sell",
      "fromGrade": "Neutral"
    },
    {
      "date": "2023-03-08",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-03-06",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-03-02",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-02-06",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "New Street Research",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-01-27",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2023-01-23",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-01-19",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-01-18",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-01-18",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-01-13",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-01-11",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2023-01-09",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2023-01-04",
      "action": "maintain",
      "company": "Tigress Financial",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2023-01-04",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-01-03",
      "action": "downgrade",
      "company": "Exane BNP Paribas",
      "toGrade": "Neutral",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-12-20",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-12-12",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-11-08",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-11-08",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-11-07",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2022-11-07",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2022-10-28",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-10-28",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2022-10-28",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-10-28",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-10-28",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-10-28",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-10-28",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-10-28",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-10-21",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-10-17",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-10-13",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-10-11",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2022-09-29",
      "action": "downgrade",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-09-29",
      "action": "upgrade",
      "company": "Rosenblatt",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2022-09-20",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-09-06",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-09-06",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2022-08-22",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-08-19",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-08-17",
      "action": "upgrade",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Neutral"
    },
    {
      "date": "2022-08-17",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-08-15",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2022-08-02",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-07-29",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-07-29",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2022-07-29",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-07-29",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2022-07-29",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2022-07-29",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-07-29",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-07-26",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-07-20",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-07-20",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-07-19",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2022-07-13",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2022-07-13",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-07-12",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-07-12",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-07-10",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-06-30",
      "action": "maintain",
      "company": "Tigress Financial",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2022-06-28",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-06-15",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-06-14",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-06-07",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-06-07",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-05-19",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-05-17",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-05-10",
      "action": "maintain",
      "company": "HSBC",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2022-05-02",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2022-04-29",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-04-29",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-04-29",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2022-04-29",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-04-29",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-04-24",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-04-19",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2022-03-31",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-03-24",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-03-11",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2022-03-09",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-02-15",
      "action": "maintain",
      "company": "Tigress Financial",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2022-01-31",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2022-01-28",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-01-28",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2022-01-28",
      "action": "upgrade",
      "company": "New Street Research",
      "toGrade": "Neutral",
      "fromGrade": "Sell"
    },
    {
      "date": "2022-01-28",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-01-28",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-01-28",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-01-28",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-01-28",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-01-28",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-01-28",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-01-28",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-01-24",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-01-21",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-01-19",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-01-18",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-01-14",
      "action": "maintain",
      "company": "Loop Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-01-07",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-01-05",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-12-22",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-12-14",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-12-14",
      "action": "upgrade",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2021-12-13",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-12-07",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-12-03",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2021-12-02",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-11-23",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-11-17",
      "action": "maintain",
      "company": "New Street Research",
      "toGrade": "Sell",
      "fromGrade": "Sell"
    },
    {
      "date": "2021-11-09",
      "action": "maintain",
      "company": "Tigress Financial",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2021-10-29",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2021-10-29",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-10-29",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-10-28",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-10-27",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-10-18",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-10-11",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-09-22",
      "action": "maintain",
      "company": "Tigress Financial",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2021-09-09",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-09-08",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-09-01",
      "action": "upgrade",
      "company": "Wolfe Research",
      "toGrade": "Peer Perform",
      "fromGrade": "Underperform"
    },
    {
      "date": "2021-08-13",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Wolfe Research",
      "toGrade": "Underperform",
      "fromGrade": "Underperform"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Loop Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-07-22",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-07-20",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-07-15",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-07-14",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-07-06",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-06-30",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-06-24",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-05-28",
      "action": "downgrade",
      "company": "New Street Research",
      "toGrade": "Sell",
      "fromGrade": "Neutral"
    },
    {
      "date": "2021-05-19",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2021-04-29",
      "action": "upgrade",
      "company": "Goldman Sachs",
      "toGrade": "Neutral",
      "fromGrade": "Sell"
    },
    {
      "date": "2021-04-29",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-04-29",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-04-29",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-04-29",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2021-04-29",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-04-29",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2021-04-29",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-04-29",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-04-29",
      "action": "maintain",
      "company": "Wolfe Research",
      "toGrade": "Underperform",
      "fromGrade": "Underperform"
    },
    {
      "date": "2021-04-29",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-04-29",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-04-29",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-04-29",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-04-27",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-04-21",
      "action": "maintain",
      "company": "Wolfe Research",
      "toGrade": "Underperform",
      "fromGrade": "Underperform"
    },
    {
      "date": "2021-04-21",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-04-16",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-04-08",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-04-06",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-03-31",
      "action": "upgrade",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2021-03-24",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2021-03-16",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-03-10",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-01-28",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-01-28",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-01-28",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2021-01-28",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-01-28",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-01-28",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-01-28",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2021-01-28",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-01-28",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-01-28",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2021-01-28",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-01-28",
      "action": "maintain",
      "company": "Loop Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-01-28",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-01-28",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2021-01-26",
      "action": "maintain",
      "company": "Cascend",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-01-26",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-01-26",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2021-01-25",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-01-25",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-01-25",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-01-22",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-01-21",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-01-15",
      "action": "maintain",
      "company": "Loop Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-01-14",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2021-01-12",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-01-11",
      "action": "maintain",
      "company": "Wolfe Research",
      "toGrade": "Underperform",
      "fromGrade": "Underperform"
    },
    {
      "date": "2021-01-06",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2021-01-05",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-01-05",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-12-16",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-12-15",
      "action": "maintain",
      "company": "Cascend",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-12-14",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-12-09",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-11-30",
      "action": "upgrade",
      "company": "Loop Capital",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2020-10-30",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-10-30",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-10-30",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-10-26",
      "action": "maintain",
      "company": "Loop Capital",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2020-10-22",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-10-21",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-10-14",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-10-14",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-10-14",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-10-13",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-10-12",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Telsey Advisory Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "FBN Securities",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Crowell, Weedon & Co.",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Credit Agricole",
      "toGrade": "Outperform",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-23",
      "action": "downgrade",
      "company": "Pacific Crest",
      "toGrade": "Equal Weight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-09-23",
      "action": "downgrade",
      "company": "Oracle Investment Research",
      "toGrade": "Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Citi",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Sterne Agee",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Cantor Fitzgerald",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-23",
      "action": "downgrade",
      "company": "Scotiabank",
      "toGrade": "Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "BTIG Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "PiperJaffray",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Susquehanna",
      "toGrade": "Outperform",
      "fromGrade": "Positive"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2020-09-23",
      "action": "downgrade",
      "company": "Goldman Sachs",
      "toGrade": "Sell",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Nomura Instinet",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Global Equities Research",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-09-23",
      "action": "downgrade",
      "company": "ABG Sundal Collier",
      "toGrade": "Sell",
      "fromGrade": "Hold"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-09-23",
      "action": "downgrade",
      "company": "KeyBanc",
      "toGrade": "Equal Weight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-09-23",
      "action": "upgrade",
      "company": "HSBC",
      "toGrade": "Hold",
      "fromGrade": "Reduce"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Berenberg",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Monness Crespi Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Hudson Square",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Piper Jaffray",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-09-23",
      "action": "upgrade",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Perform"
    },
    {
      "date": "2020-09-23",
      "action": "downgrade",
      "company": "Phillip Securities",
      "toGrade": "Neutral",
      "fromGrade": "Accumulate"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Topeka",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Sell",
      "fromGrade": "Sell"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "CLSA",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Argus",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Janney Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-23",
      "action": "upgrade",
      "company": "Societe Generale",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-09-23",
      "action": "upgrade",
      "company": "Longbow Research",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "FBR Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Daiwa Capital",
      "toGrade": "Outperform",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-23",
      "action": "downgrade",
      "company": "ISI Group",
      "toGrade": "Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "Evercore Partners",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-09-23",
      "action": "downgrade",
      "company": "Mizuho",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-22",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-09-21",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-21",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-17",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-16",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-14",
      "action": "maintain",
      "company": "Cascend",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-14",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-14",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-14",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-09-14",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-14",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-09-14",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-09-14",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-09-14",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-09-10",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-09-01",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-09-01",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-01",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-08-31",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-08-31",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-08-31",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-08-31",
      "action": "maintain",
      "company": "Argus Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-08-25",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-08-25",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-08-24",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-08-14",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2020-08-10",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-08-05",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2020-08-05",
      "action": "downgrade",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-08-05",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "Cascend",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "Loop Capital",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-07-29",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-07-28",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-07-24",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-07-24",
      "action": "maintain",
      "company": "Wolfe Research",
      "toGrade": "Underperform",
      "fromGrade": "Underperform"
    },
    {
      "date": "2020-07-24",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2020-07-16",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-07-15",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-07-15",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-07-13",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-07-13",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-07-08",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-07-07",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-07-07",
      "action": "maintain",
      "company": "Cascend",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-06-25",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-06-25",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2020-06-23",
      "action": "maintain",
      "company": "Loop Capital",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2020-06-23",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2020-06-23",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-06-23",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-06-23",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Sell",
      "fromGrade": "Sell"
    },
    {
      "date": "2020-06-23",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-06-22",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-06-17",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-06-16",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-06-11",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-06-11",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-06-11",
      "action": "upgrade",
      "company": "HSBC",
      "toGrade": "Hold",
      "fromGrade": "Reduce"
    },
    {
      "date": "2020-06-10",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-06-05",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-06-05",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-06-03",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-05-27",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-05-27",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-05-12",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-05-07",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2020-05-06",
      "action": "maintain",
      "company": "Daiwa Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-05-01",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-05-01",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-05-01",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2020-05-01",
      "action": "maintain",
      "company": "Cascend",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-05-01",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-05-01",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-05-01",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-05-01",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-05-01",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-05-01",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-05-01",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-05-01",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-05-01",
      "action": "maintain",
      "company": "Nomura Instinet",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-04-27",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-04-23",
      "action": "maintain",
      "company": "Daiwa Capital",
      "toGrade": "Outperform",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-04-21",
      "action": "maintain",
      "company": "Nomura Instinet",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-04-17",
      "action": "downgrade",
      "company": "Goldman Sachs",
      "toGrade": "Sell",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-04-16",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-04-16",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-04-13",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2020-04-13",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-04-09",
      "action": "maintain",
      "company": "Nomura Instinet",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-04-09",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-04-08",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-04-03",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-04-03",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-04-01",
      "action": "maintain",
      "company": "Argus Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-03-30",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-03-26",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2020-03-25",
      "action": "upgrade",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2020-03-24",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-03-23",
      "action": "maintain",
      "company": "Nomura Instinet",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-03-23",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-03-20",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-03-19",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-03-18",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-03-18",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-03-17",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-03-17",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-03-17",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-03-13",
      "action": "upgrade",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2020-03-11",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-03-10",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-03-08",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-03-06",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-03-06",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2020-03-04",
      "action": "maintain",
      "company": "Nomura Instinet",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-03-03",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-03-02",
      "action": "upgrade",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Perform"
    },
    {
      "date": "2020-03-02",
      "action": "maintain",
      "company": "Cascend",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-02-18",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2020-02-18",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2020-02-18",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-02-18",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-02-18",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-01-30",
      "action": "upgrade",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2020-01-29",
      "action": "upgrade",
      "company": "Maxim Group",
      "toGrade": "Hold",
      "fromGrade": "Sell"
    },
    {
      "date": "2020-01-29",
      "action": "maintain",
      "company": "Cascend",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-01-29",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2020-01-29",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-01-29",
      "action": "maintain",
      "company": "Monness Crespi Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-01-29",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-01-29",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-01-29",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-01-29",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-01-29",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-01-29",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-01-29",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-01-29",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-01-29",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-01-29",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-01-29",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2020-01-29",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2020-01-29",
      "action": "maintain",
      "company": "Loop Capital",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2020-01-29",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-01-29",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-01-27",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2020-01-24",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-01-24",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-01-24",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-01-24",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Sell",
      "fromGrade": "Sell"
    },
    {
      "date": "2020-01-23",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-01-17",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-01-17",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-01-17",
      "action": "maintain",
      "company": "Nomura Instinet",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-01-15",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-01-14",
      "action": "downgrade",
      "company": "Atlantic Equities",
      "toGrade": "Underweight",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-01-14",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-01-13",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-01-13",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-01-10",
      "action": "maintain",
      "company": "Argus Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-01-10",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2020-01-09",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-01-06",
      "action": "maintain",
      "company": "Cascend",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-01-06",
      "action": "downgrade",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2020-01-03",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-01-03",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-01-03",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-12-23",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-12-20",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-12-20",
      "action": "maintain",
      "company": "PiperJaffray",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-12-17",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-12-11",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-12-09",
      "action": "maintain",
      "company": "China Renaissance",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-12-02",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-11-26",
      "action": "maintain",
      "company": "Cascend",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-11-15",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-11-15",
      "action": "maintain",
      "company": "Piper Jaffray",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-11-15",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-11-15",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-11-14",
      "action": "downgrade",
      "company": "Maxim Group",
      "toGrade": "Sell",
      "fromGrade": "Hold"
    },
    {
      "date": "2019-11-13",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-10-31",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-10-31",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-10-31",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-10-31",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-10-31",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2019-10-31",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-10-31",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2019-10-31",
      "action": "maintain",
      "company": "Cascend",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-10-31",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-10-31",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-10-31",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2019-10-31",
      "action": "maintain",
      "company": "Piper Jaffray",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-10-28",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2019-10-28",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-10-28",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-10-28",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-10-28",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-10-25",
      "action": "maintain",
      "company": "Cascend",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-10-24",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-10-23",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-10-22",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2019-10-21",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-10-17",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2019-10-11",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-10-10",
      "action": "upgrade",
      "company": "Longbow Research",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2019-10-09",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-10-07",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2019-09-30",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-09-20",
      "action": "maintain",
      "company": "Cascend",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-09-13",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2019-09-11",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-09-11",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2019-09-11",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2019-08-08",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2019-07-31",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-07-31",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-07-31",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-07-31",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-07-31",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2019-07-31",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-07-31",
      "action": "maintain",
      "company": "Piper Jaffray",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-07-31",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-07-31",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2019-07-31",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-07-29",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-07-22",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-07-19",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2019-07-18",
      "action": "upgrade",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2019-07-17",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2019-07-09",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-07-08",
      "action": "downgrade",
      "company": "Rosenblatt",
      "toGrade": "Sell",
      "fromGrade": "Neutral"
    },
    {
      "date": "2019-06-20",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2019-06-06",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-06-04",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-05-30",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-05-28",
      "action": "maintain",
      "company": "Citi",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-05-28",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-05-23",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-05-17",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2019-05-01",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-05-01",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-05-01",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-05-01",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-05-01",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-05-01",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2019-04-25",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-04-24",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-04-11",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2019-04-10",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-04-10",
      "action": "downgrade",
      "company": "HSBC",
      "toGrade": "Reduce",
      "fromGrade": "Hold"
    },
    {
      "date": "2019-04-10",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-03-26",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-03-26",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-03-26",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-03-26",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-03-21",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-03-21",
      "action": "upgrade",
      "company": "Needham",
      "toGrade": "Strong Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-03-21",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-03-14",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-03-11",
      "action": "upgrade",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2019-03-11",
      "action": "upgrade",
      "company": "Bank of America",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2019-01-30",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-01-30",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2019-01-30",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-01-30",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-01-30",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2019-01-30",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2019-01-30",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-01-30",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2019-01-04",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-01-03",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-01-03",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2019-01-03",
      "action": "downgrade",
      "company": "Macquarie",
      "toGrade": "Neutral",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-01-03",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-01-03",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-01-03",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2019-01-03",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-01-03",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2019-01-03",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2019-01-03",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2019-01-03",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-01-02",
      "action": "downgrade",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-01-02",
      "action": "downgrade",
      "company": "Loop Capital",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-12-14",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-12-10",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-12-07",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-12-06",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2018-12-04",
      "action": "downgrade",
      "company": "HSBC",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-11-29",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-11-20",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2018-11-14",
      "action": "downgrade",
      "company": "Guggenheim",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-11-14",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-11-08",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-11-02",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2018-11-02",
      "action": "downgrade",
      "company": "Bank of America",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-11-02",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2018-11-02",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2018-11-02",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-11-02",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-11-02",
      "action": "downgrade",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-10-29",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-10-19",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2018-09-28",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2018-09-27",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-09-13",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-09-13",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-09-13",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-09-05",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-09-05",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-09-04",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-08-31",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2018-08-21",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-08-21",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-08-02",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-08-01",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-08-01",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2018-08-01",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2018-07-24",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-07-23",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2018-06-08",
      "action": "maintain",
      "company": "Argus Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-06-08",
      "action": "maintain",
      "company": "Argus",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-05-30",
      "action": "downgrade",
      "company": "Maxim Group",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-05-24",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-05-02",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2018-05-02",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2018-05-01",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-04-30",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2018-04-30",
      "action": "maintain",
      "company": "DA Davidson",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-04-20",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-04-11",
      "action": "maintain",
      "company": "Monness Crespi Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-03-16",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2018-02-07",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2018-02-05",
      "action": "maintain",
      "company": "Hilliard Lyons",
      "toGrade": "Buy",
      "fromGrade": "Long Term Buy"
    },
    {
      "date": "2018-02-02",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2018-02-02",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2018-02-02",
      "action": "downgrade",
      "company": "Keybanc",
      "toGrade": "Sector Weight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-02-02",
      "action": "downgrade",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2018-02-02",
      "action": "downgrade",
      "company": "KeyBanc",
      "toGrade": "Sector Weight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-02-02",
      "action": "maintain",
      "company": "Maxim Group",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-02-02",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-01-31",
      "action": "maintain",
      "company": "Loop Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-01-31",
      "action": "downgrade",
      "company": "BMO Capital",
      "toGrade": "Market Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2018-01-25",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-01-23",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-01-22",
      "action": "downgrade",
      "company": "Atlantic Equities",
      "toGrade": "Neutral",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-01-17",
      "action": "downgrade",
      "company": "Longbow Research",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-12-19",
      "action": "downgrade",
      "company": "Instinet",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-12-19",
      "action": "downgrade",
      "company": "Nomura Instinet",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-11-06",
      "action": "maintain",
      "company": "Argus",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-11-06",
      "action": "maintain",
      "company": "Argus Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-11-03",
      "action": "maintain",
      "company": "Loop Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-11-03",
      "action": "upgrade",
      "company": "Rosenblatt",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2017-11-03",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2017-11-03",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2017-11-03",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-11-03",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2017-11-03",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-11-03",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2017-11-03",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-10-25",
      "action": "maintain",
      "company": "HSBC",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-10-16",
      "action": "upgrade",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Sector Weight"
    },
    {
      "date": "2017-10-16",
      "action": "upgrade",
      "company": "KeyBanc",
      "toGrade": "Overweight",
      "fromGrade": "Sector Weight"
    },
    {
      "date": "2017-10-13",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2017-09-22",
      "action": "maintain",
      "company": "PiperJaffray",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2017-09-22",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2017-09-19",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2017-09-06",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-08-03",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-08-02",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2017-08-02",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2017-08-02",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2017-08-02",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-07-24",
      "action": "maintain",
      "company": "Loop Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-07-17",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2017-06-12",
      "action": "downgrade",
      "company": "Mizuho",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-06-05",
      "action": "downgrade",
      "company": "Pacific Crest",
      "toGrade": "Sector Weight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2017-04-19",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2017-04-18",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2017-04-04",
      "action": "maintain",
      "company": "Pacific Crest",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2017-03-24",
      "action": "downgrade",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2017-03-24",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-03-21",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2017-03-06",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-03-01",
      "action": "maintain",
      "company": "BTIG",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-03-01",
      "action": "maintain",
      "company": "BTIG Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-01-24",
      "action": "downgrade",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2017-01-19",
      "action": "maintain",
      "company": "OTR Global",
      "toGrade": "Sell",
      "fromGrade": "Negative"
    },
    {
      "date": "2017-01-04",
      "action": "maintain",
      "company": "Guggenheim",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-10-26",
      "action": "downgrade",
      "company": "Stifel Nicolaus",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-10-26",
      "action": "maintain",
      "company": "PiperJaffray",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-10-26",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-10-25",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-10-25",
      "action": "maintain",
      "company": "Brean Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-10-25",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-10-25",
      "action": "maintain",
      "company": "Drexel Hamilton",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-10-25",
      "action": "downgrade",
      "company": "Stifel",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-10-25",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-10-25",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-10-25",
      "action": "maintain",
      "company": "Macquarie",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-10-25",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-10-12",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-10-11",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-10-11",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-09-30",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-09-29",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-09-22",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-09-22",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-09-16",
      "action": "maintain",
      "company": "CLSA",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-09-15",
      "action": "maintain",
      "company": "BTIG Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-09-15",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-09-15",
      "action": "maintain",
      "company": "BTIG",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-09-14",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-09-13",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-09-08",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-09-08",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-09-08",
      "action": "maintain",
      "company": "Pacific Crest",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-09-08",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-09-08",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-09-08",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-09-08",
      "action": "maintain",
      "company": "Stifel Nicolaus",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-09-08",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2016-09-08",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Perform",
      "fromGrade": "Perform"
    },
    {
      "date": "2016-09-08",
      "action": "downgrade",
      "company": "Wells Fargo",
      "toGrade": "Market Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-09-08",
      "action": "maintain",
      "company": "Drexel Hamilton",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-09-08",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-09-08",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-09-08",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-09-08",
      "action": "maintain",
      "company": "Macquarie",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-09-08",
      "action": "maintain",
      "company": "William Blair",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-08-11",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-08-02",
      "action": "maintain",
      "company": "Daiwa Capital",
      "toGrade": "Outperform",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-07-28",
      "action": "maintain",
      "company": "Hilliard Lyons",
      "toGrade": "Buy",
      "fromGrade": "Long Term Buy"
    },
    {
      "date": "2016-07-27",
      "action": "maintain",
      "company": "BTIG",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-07-27",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-07-27",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-07-27",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-07-27",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-07-27",
      "action": "upgrade",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2016-07-27",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-07-27",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-07-27",
      "action": "maintain",
      "company": "Drexel Hamilton",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-07-27",
      "action": "maintain",
      "company": "BTIG Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-07-27",
      "action": "maintain",
      "company": "Brean Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-07-27",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-07-26",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-07-15",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-07-06",
      "action": "maintain",
      "company": "Longbow Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-06-02",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-05-11",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-04-27",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-04-27",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-04-27",
      "action": "maintain",
      "company": "Pacific Crest",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-04-27",
      "action": "maintain",
      "company": "PiperJaffray",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-04-27",
      "action": "maintain",
      "company": "Macquarie",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-04-27",
      "action": "maintain",
      "company": "FBN Securities",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-04-27",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-04-27",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-04-27",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-04-27",
      "action": "downgrade",
      "company": "Oppenheimer",
      "toGrade": "Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-04-27",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-04-27",
      "action": "maintain",
      "company": "CLSA",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-04-27",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-04-27",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-04-27",
      "action": "maintain",
      "company": "Maxim Group",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-04-27",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-04-27",
      "action": "maintain",
      "company": "Brean Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-04-26",
      "action": "maintain",
      "company": "BTIG Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-04-26",
      "action": "maintain",
      "company": "BTIG",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-04-26",
      "action": "maintain",
      "company": "PiperJaffray",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-04-26",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-04-20",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-04-07",
      "action": "maintain",
      "company": "BTIG",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-04-07",
      "action": "maintain",
      "company": "BTIG Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-04-06",
      "action": "downgrade",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2016-04-04",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-04-04",
      "action": "maintain",
      "company": "Brean Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-03-30",
      "action": "upgrade",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2016-03-10",
      "action": "maintain",
      "company": "CLSA",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-03-07",
      "action": "maintain",
      "company": "Pacific Crest",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-02-12",
      "action": "maintain",
      "company": "FBR Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-02-11",
      "action": "maintain",
      "company": "FBR Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-01-27",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-01-27",
      "action": "maintain",
      "company": "PiperJaffray",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-01-27",
      "action": "maintain",
      "company": "FBR Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-01-27",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-01-26",
      "action": "maintain",
      "company": "FBR Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-01-26",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-01-26",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-01-12",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-01-12",
      "action": "upgrade",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2016-01-11",
      "action": "upgrade",
      "company": "Mizuho",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2016-01-11",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2016-01-11",
      "action": "upgrade",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2016-01-11",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-01-10",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-01-10",
      "action": "upgrade",
      "company": "Mizuho",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2016-01-10",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2016-01-08",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-01-08",
      "action": "maintain",
      "company": "Pacific Crest",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-01-07",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-01-07",
      "action": "maintain",
      "company": "Pacific Crest",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-01-07",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-01-06",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-12-22",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2015-12-21",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2015-12-14",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2015-12-13",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2015-12-11",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-11-18",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-11-17",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-10-28",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-10-28",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2015-10-28",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2015-10-28",
      "action": "upgrade",
      "company": "Pacific Crest",
      "toGrade": "Overweight",
      "fromGrade": "Sector Weight"
    },
    {
      "date": "2015-10-27",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-10-27",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2015-10-27",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2015-10-27",
      "action": "upgrade",
      "company": "Pacific Crest",
      "toGrade": "Overweight",
      "fromGrade": "Sector Weight"
    },
    {
      "date": "2015-10-23",
      "action": "upgrade",
      "company": "Maxim Group",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2015-10-22",
      "action": "upgrade",
      "company": "Maxim Group",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2015-10-14",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2015-10-11",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2015-10-10",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2015-10-01",
      "action": "maintain",
      "company": "Drexel Hamilton",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-09-28",
      "action": "maintain",
      "company": "Sterne Agee CRT",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-09-21",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-09-20",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-09-16",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-09-15",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-09-09",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-08-25",
      "action": "upgrade",
      "company": "Wells Fargo",
      "toGrade": "Outperform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2015-08-24",
      "action": "upgrade",
      "company": "Wells Fargo",
      "toGrade": "Outperform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2015-08-05",
      "action": "downgrade",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-08-05",
      "action": "downgrade",
      "company": "Bank of America",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-08-04",
      "action": "downgrade",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-07-30",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-07-22",
      "action": "downgrade",
      "company": "Cowen & Co.",
      "toGrade": "Market Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-07-21",
      "action": "downgrade",
      "company": "Cowen & Co.",
      "toGrade": "Market Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-07-13",
      "action": "upgrade",
      "company": "Societe Generale",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2015-07-12",
      "action": "upgrade",
      "company": "Societe Generale",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2015-04-28",
      "action": "maintain",
      "company": "Susquehanna",
      "toGrade": "Positive",
      "fromGrade": "Positive"
    },
    {
      "date": "2015-04-27",
      "action": "maintain",
      "company": "Susquehanna",
      "toGrade": "Positive",
      "fromGrade": "Positive"
    },
    {
      "date": "2015-04-27",
      "action": "maintain",
      "company": "Brean Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-04-27",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2015-04-27",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-04-26",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2015-04-17",
      "action": "maintain",
      "company": "FBR Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-04-16",
      "action": "maintain",
      "company": "Maxim Group",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2015-04-10",
      "action": "downgrade",
      "company": "Raymond James",
      "toGrade": "Market Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-04-09",
      "action": "downgrade",
      "company": "Raymond James",
      "toGrade": "Market Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-04-08",
      "action": "downgrade",
      "company": "Societe Generale",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-04-07",
      "action": "downgrade",
      "company": "Societe Generale",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-03-31",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-03-30",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-03-26",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-03-25",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-03-24",
      "action": "maintain",
      "company": "Cantor Fitzgerald",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-03-23",
      "action": "maintain",
      "company": "Cantor Fitzgerald",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-03-23",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-03-22",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-03-18",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2015-03-17",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2015-03-13",
      "action": "maintain",
      "company": "Berenberg",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-03-12",
      "action": "maintain",
      "company": "Berenberg",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-03-10",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-03-10",
      "action": "maintain",
      "company": "Monness Crespi Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-03-10",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-03-10",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2015-03-09",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2015-03-09",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-03-09",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-03-09",
      "action": "maintain",
      "company": "Macquarie",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-03-08",
      "action": "maintain",
      "company": "Macquarie",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-03-03",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-03-02",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2015-03-02",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-03-01",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2015-02-25",
      "action": "maintain",
      "company": "Stifel Nicolaus",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-02-25",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-02-24",
      "action": "maintain",
      "company": "Stifel Nicolaus",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-02-24",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-02-23",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-02-11",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2015-02-10",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2015-01-28",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-01-28",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2015-01-28",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2015-01-28",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2015-01-28",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-01-28",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-01-28",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-01-27",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-01-27",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2015-01-27",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-01-27",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2015-01-27",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-01-27",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-01-27",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2015-01-27",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2015-01-16",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-01-16",
      "action": "maintain",
      "company": "Societe Generale",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-01-15",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-01-15",
      "action": "downgrade",
      "company": "Mizuho",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-01-15",
      "action": "maintain",
      "company": "Societe Generale",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-01-14",
      "action": "downgrade",
      "company": "Mizuho",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-01-13",
      "action": "upgrade",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Neutral"
    },
    {
      "date": "2015-01-12",
      "action": "upgrade",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-12-08",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-12-07",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-12-03",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2014-12-02",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-12-02",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2014-12-01",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-12-01",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-11-30",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-11-25",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-11-25",
      "action": "maintain",
      "company": "Stifel Nicolaus",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-11-24",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-11-20",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-11-19",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2014-11-19",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-11-18",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-11-18",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2014-11-17",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-10-21",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-10-20",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-10-20",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-10-20",
      "action": "maintain",
      "company": "Cantor Fitzgerald",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-10-14",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-10-13",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-10-09",
      "action": "upgrade",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2014-10-08",
      "action": "upgrade",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2014-10-07",
      "action": "maintain",
      "company": "Susquehanna",
      "toGrade": "Positive",
      "fromGrade": "Positive"
    },
    {
      "date": "2014-10-06",
      "action": "maintain",
      "company": "Susquehanna",
      "toGrade": "Positive",
      "fromGrade": "Positive"
    },
    {
      "date": "2014-10-03",
      "action": "downgrade",
      "company": "Deutsche Bank",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-10-02",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-10-02",
      "action": "downgrade",
      "company": "Deutsche Bank",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-10-01",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-09-30",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-09-30",
      "action": "maintain",
      "company": "Evercore Partners",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-09-30",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2014-09-29",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-09-10",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-09-10",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-09-10",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2014-09-10",
      "action": "downgrade",
      "company": "Pacific Crest",
      "toGrade": "Sector Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-09-09",
      "action": "maintain",
      "company": "Mizuho",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-09-09",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2014-09-09",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-09-09",
      "action": "downgrade",
      "company": "Pacific Crest",
      "toGrade": "Sector Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-09-09",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-09-02",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-09-01",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-07-23",
      "action": "maintain",
      "company": "Macquarie",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-07-23",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-07-23",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-07-22",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-07-22",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-07-22",
      "action": "maintain",
      "company": "Macquarie",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-07-21",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-07-21",
      "action": "upgrade",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2014-07-20",
      "action": "upgrade",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2014-07-20",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-07-14",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-07-14",
      "action": "upgrade",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2014-07-13",
      "action": "upgrade",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2014-07-13",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-07-11",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-07-10",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-07-02",
      "action": "maintain",
      "company": "Evercore Partners",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-07-02",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-07-01",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-06-25",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-06-24",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-06-17",
      "action": "upgrade",
      "company": "Societe Generale",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2014-06-16",
      "action": "upgrade",
      "company": "Societe Generale",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2014-06-13",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-06-12",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-06-11",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-06-11",
      "action": "maintain",
      "company": "Monness Crespi Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-06-11",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-06-10",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-06-10",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2014-06-10",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-06-10",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-06-09",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2014-06-09",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-06-09",
      "action": "maintain",
      "company": "Stifel Nicolaus",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-06-09",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-06-08",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-06-03",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-06-03",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-06-02",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-06-02",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-05-29",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-05-29",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-05-29",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-05-29",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-05-28",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-05-28",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2014-05-28",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-05-28",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-05-28",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-05-27",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-05-27",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2014-05-09",
      "action": "downgrade",
      "company": "ISI Group",
      "toGrade": "Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2014-05-08",
      "action": "downgrade",
      "company": "ISI Group",
      "toGrade": "Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2014-05-06",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-05-05",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-04-24",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-04-24",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-04-24",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-04-24",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2014-04-24",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2014-04-24",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-04-24",
      "action": "maintain",
      "company": "CLSA",
      "toGrade": "Buy",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-04-24",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-04-24",
      "action": "maintain",
      "company": "Pacific Crest",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-04-23",
      "action": "maintain",
      "company": "Pacific Crest",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-04-23",
      "action": "maintain",
      "company": "CLSA",
      "toGrade": "Buy",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-04-23",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-04-23",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-04-23",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-04-23",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-04-23",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2014-04-23",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2014-04-10",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-03-21",
      "action": "maintain",
      "company": "Macquarie",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-03-11",
      "action": "upgrade",
      "company": "Pacific Crest",
      "toGrade": "Outperform",
      "fromGrade": "Sector Perform"
    },
    {
      "date": "2014-03-10",
      "action": "upgrade",
      "company": "Pacific Crest",
      "toGrade": "Outperform",
      "fromGrade": "Sector Perform"
    },
    {
      "date": "2014-03-03",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-03-02",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-02-20",
      "action": "downgrade",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-02-19",
      "action": "downgrade",
      "company": "Barclays",
      "toGrade": "Equal Weight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-02-14",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-02-14",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-02-13",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-01-28",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-01-28",
      "action": "downgrade",
      "company": "Oppenheimer",
      "toGrade": "Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-01-28",
      "action": "maintain",
      "company": "Hilliard Lyons",
      "toGrade": "Long Term Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-01-28",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-01-27",
      "action": "downgrade",
      "company": "Oppenheimer",
      "toGrade": "Market Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-01-27",
      "action": "downgrade",
      "company": "BGC FInancial",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-01-27",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-01-27",
      "action": "downgrade",
      "company": "BGC Financial",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-01-27",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-01-27",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2014-01-27",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2014-01-27",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-01-27",
      "action": "maintain",
      "company": "Hilliard Lyons",
      "toGrade": "Long Term Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-01-27",
      "action": "downgrade",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2014-01-26",
      "action": "downgrade",
      "company": "BGC FInancial",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-01-21",
      "action": "downgrade",
      "company": "Societe Generale",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-01-20",
      "action": "downgrade",
      "company": "Societe Generale",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-01-13",
      "action": "maintain",
      "company": "Oracle Investment Research",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2014-01-12",
      "action": "maintain",
      "company": "Oracle Investment Research",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2014-01-06",
      "action": "downgrade",
      "company": "Standpoint",
      "toGrade": "Sell",
      "fromGrade": "Hold"
    },
    {
      "date": "2014-01-06",
      "action": "downgrade",
      "company": "Standpoint Research",
      "toGrade": "Sell",
      "fromGrade": "Hold"
    },
    {
      "date": "2014-01-05",
      "action": "downgrade",
      "company": "Standpoint Research",
      "toGrade": "Sell",
      "fromGrade": "Hold"
    },
    {
      "date": "2014-01-02",
      "action": "downgrade",
      "company": "Wells Fargo",
      "toGrade": "Market Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-01-01",
      "action": "downgrade",
      "company": "Wells Fargo",
      "toGrade": "Market Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-12-23",
      "action": "maintain",
      "company": "FBN Securities",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-12-22",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2013-12-22",
      "action": "maintain",
      "company": "FBN Securities",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-12-22",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-12-19",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-12-19",
      "action": "maintain",
      "company": "Monness Crespi Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-12-19",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-12-18",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-12-18",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-12-18",
      "action": "maintain",
      "company": "Susquehanna",
      "toGrade": "Positive",
      "fromGrade": "Positive"
    },
    {
      "date": "2013-12-16",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-12-15",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-12-12",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-12-11",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-12-10",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-12-10",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-12-09",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-12-06",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-12-05",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-12-03",
      "action": "upgrade",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-12-02",
      "action": "upgrade",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-12-01",
      "action": "upgrade",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-11-29",
      "action": "maintain",
      "company": "Cantor Fitzgerald",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-11-28",
      "action": "maintain",
      "company": "Cantor Fitzgerald",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-11-25",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-11-24",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-11-18",
      "action": "maintain",
      "company": "Susquehanna",
      "toGrade": "Positive",
      "fromGrade": "Positive"
    },
    {
      "date": "2013-11-17",
      "action": "maintain",
      "company": "Susquehanna",
      "toGrade": "Positive",
      "fromGrade": "Positive"
    },
    {
      "date": "2013-11-14",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-11-13",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-10-29",
      "action": "maintain",
      "company": "Janney Montgomery Scott",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-10-29",
      "action": "maintain",
      "company": "Monness Crespi Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-10-29",
      "action": "maintain",
      "company": "PiperJaffray",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-10-29",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-10-29",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-10-29",
      "action": "maintain",
      "company": "Janney Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-10-29",
      "action": "maintain",
      "company": "Stifel Nicolaus",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-10-28",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-10-28",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-10-28",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-10-28",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-10-28",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-10-28",
      "action": "upgrade",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-10-28",
      "action": "maintain",
      "company": "Janney Montgomery Scott",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-10-28",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-10-28",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-10-28",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-10-28",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-10-28",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-10-28",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-10-22",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-10-22",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-10-20",
      "action": "upgrade",
      "company": "Societe Generale",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2013-10-13",
      "action": "maintain",
      "company": "Mizuho",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-10-06",
      "action": "upgrade",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2013-10-03",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-09-29",
      "action": "maintain",
      "company": "Global Equities Research",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-09-27",
      "action": "maintain",
      "company": "Monness Crespi Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-09-26",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-09-23",
      "action": "upgrade",
      "company": "Susquehanna",
      "toGrade": "Positive",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-09-23",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-09-22",
      "action": "downgrade",
      "company": "Societe Generale",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-09-22",
      "action": "maintain",
      "company": "FBN Securities",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-09-12",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2013-09-11",
      "action": "downgrade",
      "company": "Bank of America",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-09-11",
      "action": "maintain",
      "company": "PiperJaffray",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-09-10",
      "action": "downgrade",
      "company": "UBS",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-09-10",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-09-10",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-09-10",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-09-10",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-09-10",
      "action": "downgrade",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-09-10",
      "action": "downgrade",
      "company": "Credit Suisse",
      "toGrade": "Neutral",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-09-08",
      "action": "maintain",
      "company": "FBN Securities",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-09-06",
      "action": "maintain",
      "company": "Evercore Partners",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-09-05",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-09-04",
      "action": "maintain",
      "company": "Cantor Fitzgerald",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-09-02",
      "action": "downgrade",
      "company": "ABG Sundal Collier",
      "toGrade": "Sell",
      "fromGrade": "Hold"
    },
    {
      "date": "2013-08-20",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-08-14",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-08-11",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-08-01",
      "action": "downgrade",
      "company": "Standpoint Research",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-07-31",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2013-07-24",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-07-24",
      "action": "maintain",
      "company": "Stifel Nicolaus",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-07-23",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-07-23",
      "action": "upgrade",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2013-07-23",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-07-23",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-07-21",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2013-06-30",
      "action": "upgrade",
      "company": "Raymond James",
      "toGrade": "Strong Buy",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-06-23",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2013-06-23",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2013-05-15",
      "action": "maintain",
      "company": "Susquehanna",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-05-05",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-04-24",
      "action": "maintain",
      "company": "Ameriprise Financial",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-04-24",
      "action": "upgrade",
      "company": "ABG Sundal Collier",
      "toGrade": "Hold",
      "fromGrade": "Sell"
    },
    {
      "date": "2013-04-24",
      "action": "downgrade",
      "company": "Hamburger Sparkasse",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-04-23",
      "action": "downgrade",
      "company": "BMO Capital",
      "toGrade": "Market Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-04-23",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-04-23",
      "action": "maintain",
      "company": "FBN Securities",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-04-23",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-04-23",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-04-23",
      "action": "maintain",
      "company": "Hilliard Lyons",
      "toGrade": "Buy",
      "fromGrade": "Long Term Buy"
    },
    {
      "date": "2013-04-23",
      "action": "maintain",
      "company": "Societe Generale",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-04-22",
      "action": "upgrade",
      "company": "BGC Financial",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2013-04-22",
      "action": "maintain",
      "company": "FBR Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-04-22",
      "action": "maintain",
      "company": "Monness Crespi Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-04-21",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-04-21",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-04-21",
      "action": "upgrade",
      "company": "BGC FInancial",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2013-04-21",
      "action": "maintain",
      "company": "Sterne Agee",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-04-21",
      "action": "upgrade",
      "company": "Avondale Partners",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2013-04-19",
      "action": "maintain",
      "company": "Standpoint",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-04-18",
      "action": "maintain",
      "company": "Janney Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-04-18",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-04-17",
      "action": "maintain",
      "company": "Janney Montgomery Scott",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-04-17",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-04-16",
      "action": "maintain",
      "company": "PiperJaffray",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-04-16",
      "action": "maintain",
      "company": "Stifel Nicolaus",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-04-15",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-04-15",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-04-11",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-04-04",
      "action": "maintain",
      "company": "Lazard",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-04-01",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-03-25",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-03-19",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-03-14",
      "action": "maintain",
      "company": "Sterne Agee",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-03-14",
      "action": "upgrade",
      "company": "BTIG Research",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-03-13",
      "action": "upgrade",
      "company": "BTIG",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-03-11",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2013-03-10",
      "action": "maintain",
      "company": "Credit Agricole",
      "toGrade": "Outperform",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-03-05",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-03-05",
      "action": "downgrade",
      "company": "Berenberg",
      "toGrade": "Sell",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-03-04",
      "action": "downgrade",
      "company": "Cleveland Research",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-02-24",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-27",
      "action": "downgrade",
      "company": "Baird",
      "toGrade": "Market Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-01-24",
      "action": "maintain",
      "company": "Janney Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-24",
      "action": "maintain",
      "company": "Stifel Nicolaus",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-24",
      "action": "downgrade",
      "company": "Scotiabank",
      "toGrade": "Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-01-24",
      "action": "maintain",
      "company": "BGC Financial",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2013-01-24",
      "action": "maintain",
      "company": "Topeka",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-24",
      "action": "maintain",
      "company": "PiperJaffray",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "Credit Agricole",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-23",
      "action": "downgrade",
      "company": "Jefferies",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "Societe Generale",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-23",
      "action": "downgrade",
      "company": "Scotiabank",
      "toGrade": "Sector Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "Janney Montgomery Scott",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "FBN Securities",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "Hilliard Lyons",
      "toGrade": "Long Term Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "BGC FInancial",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "Sterne Agee",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "Topeka Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "Oracle Investment Research",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-21",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-21",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-21",
      "action": "maintain",
      "company": "Scotiabank",
      "toGrade": "Sector Outperform",
      "fromGrade": "Sector Outperform"
    },
    {
      "date": "2013-01-16",
      "action": "maintain",
      "company": "BGC Financial",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2013-01-16",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-01-16",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-16",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-01-15",
      "action": "downgrade",
      "company": "Pacific Crest",
      "toGrade": "Sector Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-01-15",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-15",
      "action": "maintain",
      "company": "BGC FInancial",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2013-01-15",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-14",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-01-10",
      "action": "maintain",
      "company": "PiperJaffray",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-01-10",
      "action": "maintain",
      "company": "Credit Agricole",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-09",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-01-06",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2012-12-16",
      "action": "maintain",
      "company": "Mizuho",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-12-16",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2012-12-16",
      "action": "downgrade",
      "company": "Citigroup",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-12-16",
      "action": "maintain",
      "company": "Pacific Crest",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2012-12-13",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-12-09",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-12-04",
      "action": "upgrade",
      "company": "Oracle Investment Research",
      "toGrade": "Strong Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-11-26",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-11-19",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-11-18",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-11-09",
      "action": "maintain",
      "company": "Avondale Partners",
      "toGrade": "Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2012-10-31",
      "action": "upgrade",
      "company": "Oracle Investment Research",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2012-10-25",
      "action": "maintain",
      "company": "Telsey Advisory Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2012-10-25",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2012-10-25",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-10-25",
      "action": "maintain",
      "company": "FBN Securities",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2012-10-23",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2012-10-23",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-10-09",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2012-09-20",
      "action": "maintain",
      "company": "Crowell, Weedon & Co.",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-09-20",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-09-18",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-09-17",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-09-17",
      "action": "maintain",
      "company": "Sterne Agee",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-09-16",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2012-09-13",
      "action": "maintain",
      "company": "Hilliard Lyons",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-09-12",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-09-12",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2012-09-12",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-09-12",
      "action": "maintain",
      "company": "Sterne Agee",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-09-12",
      "action": "maintain",
      "company": "Hudson Square",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-09-12",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-09-10",
      "action": "maintain",
      "company": "Monness Crespi Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-09-05",
      "action": "maintain",
      "company": "Societe Generale",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-09-04",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2012-09-03",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2012-08-27",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-08-26",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2012-08-26",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-08-21",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-08-20",
      "action": "downgrade",
      "company": "Oracle Investment Research",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-08-16",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-08-09",
      "action": "maintain",
      "company": "Stifel Nicolaus",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-07-25",
      "action": "downgrade",
      "company": "Phillip Securities",
      "toGrade": "Neutral",
      "fromGrade": "Accumulate"
    },
    {
      "date": "2012-07-25",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-07-24",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2012-07-24",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-07-24",
      "action": "downgrade",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2012-07-24",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-07-24",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2012-07-24",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2012-07-24",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-07-11",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-06-03",
      "action": "maintain",
      "company": "Crowell, Weedon & Co.",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-26",
      "action": "maintain",
      "company": "Scotiabank",
      "toGrade": "Outperform",
      "fromGrade": "Sector Outperform"
    },
    {
      "date": "2012-04-25",
      "action": "upgrade",
      "company": "Scotiabank",
      "toGrade": "Sector Outperform",
      "fromGrade": "Sector Perform"
    },
    {
      "date": "2012-04-25",
      "action": "maintain",
      "company": "Bank oferica",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-25",
      "action": "maintain",
      "company": "Hilliard Lyons",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-24",
      "action": "upgrade",
      "company": "Societe Generale",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2012-04-24",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-24",
      "action": "maintain",
      "company": "Sterne Agee",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-24",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-24",
      "action": "maintain",
      "company": "ISI Group",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-24",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-24",
      "action": "maintain",
      "company": "FBN Securities",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2012-04-24",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-24",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-24",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2012-04-18",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-17",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-13",
      "action": "maintain",
      "company": "Bank oferica",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-12",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-11",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2012-04-10",
      "action": "maintain",
      "company": "Sterne Agee",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-09",
      "action": "maintain",
      "company": "BTIG Research",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2012-04-08",
      "action": "downgrade",
      "company": "BTIG",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-04",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-03",
      "action": "maintain",
      "company": "PiperJaffray",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2012-04-02",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2012-04-02",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2012-03-29",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2012-03-20",
      "action": "maintain",
      "company": "Crowell, Weedon & Co.",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-03-20",
      "action": "maintain",
      "company": "Hilliard Lyons",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-03-20",
      "action": "maintain",
      "company": "Scotiabank",
      "toGrade": "Sector Perform",
      "fromGrade": "Sector Perform"
    },
    {
      "date": "2012-03-19",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-03-19",
      "action": "maintain",
      "company": "Sterne Agee",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-03-18",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2012-03-18",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-03-18",
      "action": "maintain",
      "company": "Morgan Keegan",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2012-03-18",
      "action": "maintain",
      "company": "FBN Securities",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2012-03-15",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2012-03-15",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-03-15",
      "action": "maintain",
      "company": "PiperJaffray",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2012-03-14",
      "action": "maintain",
      "company": "Oxen Group",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-03-14",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2012-03-13",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-03-13",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2012-03-12",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-03-07",
      "action": "maintain",
      "company": "FBN Securities",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2012-02-08",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    }
  ],
  "rating": {
    "rating": "B",
    "deScore": 1,
    "pbScore": 1,
    "peScore": 2,
    "dcfScore": 3,
    "roaScore": 5,
    "roeScore": 5,
    "overallScore": 3
  },
  "analyst": {
    "buy": 69,
    "hold": 34,
    "sell": 7,
    "consensus": "Buy",
    "strongBuy": 1,
    "targetLow": 253,
    "strongSell": 0,
    "targetHigh": 400,
    "targetMedian": 325,
    "targetConsensus": 327
  },
  "profile": {
    "ceo": "Timothy D. Cook",
    "beta": 1.086,
    "image": "https://images.financialmodelingprep.com/symbol/AAPL.png",
    "sector": "Technology",
    "country": "US",
    "ipoDate": "1980-12-12",
    "website": "https://www.apple.com",
    "industry": "Consumer Electronics",
    "employees": "166000",
    "companyName": "Apple Inc.",
    "description": "Apple Inc. is a global technology corporation that specializes in the conceptualization, production, and sale of a diverse suite of electronic devices. Its comprehensive hardware lineup features the well-known iPhone smartphones, Mac personal computers, and versatile iPad tablets. The company also supplies a range of wearables, smart home products, and accessories, including AirPods, Apple TV, Apple Watch, items from the Beats brand, and HomePod speakers. Beyond its device offerings, Apple delivers essential support services like AppleCare and robust cloud solutions. It oversees key digital platforms, prominently the App Store, which acts as a central hub for customers to discover and download countless applications and digital content, from e-books and music to videos, games, and podcasts. The company also generates revenue via advertising, leveraging both its proprietary ad platforms and third-party licensing deals. Apple's ecosystem is further bolstered by a wide array of subscription-based services: Apple Arcade for gaming, Apple Fitness+ for personalized wellness, Apple Music for curated audio experiences and on-demand radio, Apple News+ for access to news and magazines, and Apple TV+ for exclusive original video programming. Its financial services portfolio includes the co-branded Apple Card and the mobile payment system, Apple Pay. Additionally, Apple strategically licenses its intellectual property. The company serves a broad clientele that spans individual consumers, small and medium-sized enterprises, as well as institutional clients in the education, corporate, and governmental sectors. Products are distributed through a multi-channel strategy, utilizing Apple's own physical retail locations and online storefronts, a dedicated direct sales team, and collaborations with external partners such as mobile network providers, wholesalers, general retailers, and authorized resellers. The App Store additionally functions as the primary conduit for third-party applications designed for its devices. Founded in 1976, Apple Inc. is headquartered in Cupertino, California."
  },
  "earnings": {
    "date": "2026-07-30",
    "epsEstimated": 1.88,
    "revenueEstimated": 108856200000
  },
  "dividends": [
    {
      "date": "2026-05-11",
      "amount": 0.27,
      "frequency": "Quarterly"
    },
    {
      "date": "2026-02-09",
      "amount": 0.26,
      "frequency": "Quarterly"
    },
    {
      "date": "2025-11-10",
      "amount": 0.26,
      "frequency": "Quarterly"
    },
    {
      "date": "2025-08-11",
      "amount": 0.26,
      "frequency": "Quarterly"
    },
    {
      "date": "2025-05-12",
      "amount": 0.26,
      "frequency": "Quarterly"
    },
    {
      "date": "2025-02-10",
      "amount": 0.25,
      "frequency": "Quarterly"
    }
  ],
  "estimates": {
    "date": "2026-09-27",
    "epsAvg": 8.755,
    "epsLow": 8.64481,
    "epsHigh": 8.92529,
    "ebitdaAvg": 172425602075,
    "revenueAvg": 477719321475,
    "numAnalysts": 31,
    "netIncomeAvg": 131817013388.5
  },
  "statements": {
    "income": {
      "eps": 7.49,
      "ebitda": 144427000000,
      "revenue": 416161000000,
      "incomeTax": 20719000000,
      "netIncome": 112010000000,
      "epsDiluted": 7.46,
      "grossProfit": 195201000000,
      "interestExpense": 0,
      "operatingIncome": 133050000000,
      "researchAndDevelopment": 34550000000
    },
    "period": "FY",
    "balance": {
      "cash": 35934000000,
      "netDebt": 76443000000,
      "inventory": 5718000000,
      "totalDebt": 112377000000,
      "totalAssets": 359241000000,
      "totalEquity": 73733000000,
      "currentAssets": 147957000000,
      "retainedEarnings": -14264000000,
      "totalLiabilities": 285508000000,
      "currentLiabilities": 165631000000
    },
    "cashflow": {
      "capex": 12715000000,
      "buybacks": 90711000000,
      "freeCashFlow": 98767000000,
      "dividendsPaid": 15421000000,
      "stockBasedComp": 12863000000,
      "netChangeInCash": 5991000000,
      "operatingCashFlow": 111482000000
    },
    "fiscalYear": "2025"
  },
  "technicals": {
    "ema50": 290.587397187238,
    "rsi14": 60.26242563516346,
    "sma20": 294.80250000000007
  },
  "fundamentals": {
    "health": {
      "cashRatio": 0.26981380114526776,
      "quickRatio": 1.0202464331073002,
      "currentRatio": 1.07035746912159,
      "debtToEquity": 0.7954756740006198,
      "netDebtToEbitda": 0.3017675822667964,
      "interestCoverage": 0
    },
    "dividend": {
      "yield": 0.00340213,
      "payoutRatio": 0.12686110544564552
    },
    "perShare": {
      "eps": 8.332360120015895,
      "fcfPerShare": 8.780944614668027,
      "cashPerShare": 4.656944684820958,
      "revenuePerShare": 30.68796506057692,
      "dividendPerShare": 1.05,
      "bookValuePerShare": 7.239007640551603
    },
    "valuation": {
      "pb": 42.63429676066522,
      "pe": 37.229191797346196,
      "ps": 10.041065479685098,
      "peg": 1.287009157295354,
      "pFcf": 35.09188135600043,
      "evSales": 10.148239823233107,
      "evEbitda": 28.57409426864257,
      "fcfYield": 0.028496619769547007,
      "earningsYield": 0.02699789430715062,
      "priceToFairValue": 42.63429676066522
    },
    "efficiency": {
      "grahamNumber": 36.83959035988331,
      "assetTurnover": 1.2165559094755336,
      "effectiveTaxRate": 0.1699397304801246,
      "inventoryTurnover": 34.885282347710096,
      "cashConversionCycle": -35.205984943006065,
      "receivablesTurnover": 8.436433630468501,
      "daysSalesOutstanding": 43.26472725178429,
      "daysInventoryOutstanding": 10.462865008858357
    },
    "profitability": {
      "roa": 0.3303178273265747,
      "roe": 1.4668924498270723,
      "roce": 0.6232675382019193,
      "roic": 0.49573922251878827,
      "netMargin": 0.2715188219084622,
      "grossMargin": 0.47862405358827936,
      "operatingMargin": 0.32643396050876966
    }
  },
  "peerFundamentals": {
    "META": {
      "health": {
        "cashRatio": 0.5010587555878767,
        "quickRatio": 2.3477637798643936,
        "currentRatio": 2.3477637798643936,
        "debtToEquity": 0.35607618156524307,
        "netDebtToEbitda": 0.55841774439537,
        "interestCoverage": 50.9741081703107
      },
      "dividend": {
        "yield": 0.00360268,
        "payoutRatio": 0.07566549081275589
      },
      "perShare": {
        "eps": 27.8559589581689,
        "fcfPerShare": 19.042225730071035,
        "cashPerShare": 32.036306235201266,
        "revenuePerShare": 84.83149171270718,
        "dividendPerShare": 2.1,
        "bookValuePerShare": 96.16456195737963
      },
      "valuation": {
        "pb": 6.061484481760991,
        "pe": 20.847639484978536,
        "ps": 6.88326379346213,
        "peg": 3.345791897833144,
        "pFcf": 30.664353197397055,
        "evSales": 7.177933108646604,
        "evEbitda": 13.602655619035025,
        "fcfYield": 0.03261115581217885,
        "earningsYield": 0.04778857258220776,
        "priceToFairValue": 6.061484481760991
      },
      "efficiency": {
        "grahamNumber": 245.50358867048928,
        "assetTurnover": 0.5438659076533839,
        "effectiveTaxRate": 0.2095697744731361,
        "inventoryTurnover": 0,
        "cashConversionCycle": -95.62927695139105,
        "receivablesTurnover": 12.304693760732684,
        "daysSalesOutstanding": 29.66347697045538,
        "daysInventoryOutstanding": 0
      },
      "profitability": {
        "roa": 0.17858823529411766,
        "roe": 0.33215067171729057,
        "roce": 0.254214526954321,
        "roic": 0.19955653989217054,
        "netMargin": 0.3283681377725469,
        "grossMargin": 0.8194061303573174,
        "operatingMargin": 0.41213139005317195
      }
    },
    "MSFT": {
      "health": {
        "cashRatio": 0.23492437491310617,
        "quickRatio": 1.2740284353253672,
        "currentRatio": 1.2829483173692569,
        "debtToEquity": 0.137474750643753,
        "netDebtToEbitda": 0.12370682577043078,
        "interestCoverage": 52.69083834453484
      },
      "dividend": {
        "yield": 0.00911675,
        "payoutRatio": 0.20649118323536927
      },
      "perShare": {
        "eps": 16.861836789657957,
        "fcfPerShare": 9.81901427417183,
        "cashPerShare": 10.540263937516833,
        "revenuePerShare": 42.85927821168866,
        "dividendPerShare": 3.56,
        "bookValuePerShare": 55.79948828440614
      },
      "valuation": {
        "pb": 6.998092850058041,
        "pe": 23.174480712166172,
        "ps": 9.113960752875675,
        "peg": 0.7798873172306688,
        "pFcf": 39.78177122579407,
        "evSales": 9.192069797626566,
        "evEbitda": 14.558131910986818,
        "fcfYield": 0.025137141187710894,
        "earningsYield": 0.04318122561309626,
        "priceToFairValue": 6.998092850058041
      },
      "efficiency": {
        "grahamNumber": 145.4985977559817,
        "assetTurnover": 0.458456011569686,
        "effectiveTaxRate": 0.18955618984744632,
        "inventoryTurnover": 82.74241181296145,
        "cashConversionCycle": -62.483766756089764,
        "receivablesTurnover": 5.300927699405406,
        "daysSalesOutstanding": 68.85587216006385,
        "daysInventoryOutstanding": 4.411280648007694
      },
      "profitability": {
        "roa": 0.1803672568666202,
        "roe": 0.3313037398539619,
        "roce": 0.2671553373854622,
        "roic": 0.21313559289430895,
        "netMargin": 0.39342325613545603,
        "grossMargin": 0.6830928165442874,
        "operatingMargin": 0.4680164512855316
      }
    },
    "NVDA": {
      "health": {
        "cashRatio": 0.30163613161972475,
        "quickRatio": 2.8529304530124873,
        "currentRatio": 3.440775681341719,
        "debtToEquity": 0.06555347514247419,
        "netDebtToEbitda": -0.00219439314394804,
        "interestCoverage": 544.5805369127517
      },
      "dividend": {
        "yield": 0.00143715,
        "payoutRatio": 0.0060959946871495425
      },
      "perShare": {
        "eps": 6.57222267973318,
        "fcfPerShare": 4.903071728567899,
        "cashPerShare": 3.3176315572757966,
        "revenuePerShare": 10.437741908918719,
        "dividendPerShare": 0.28,
        "bookValuePerShare": 8.048834719591534
      },
      "valuation": {
        "pb": 24.20598841789701,
        "pe": 29.69969512195122,
        "ps": 18.61595650338671,
        "peg": 0.2726814113535873,
        "pFcf": 39.62996262890927,
        "evSales": 18.614287805089727,
        "evEbitda": 24.478400686850243,
        "fcfYield": 0.02523343282868806,
        "earningsYield": 0.033733114406062616,
        "priceToFairValue": 24.20598841789701
      },
      "efficiency": {
        "grahamNumber": 34.49958720063582,
        "assetTurnover": 0.9769418130525602,
        "effectiveTaxRate": 0.1574616111442492,
        "inventoryTurnover": 2.5405667325658023,
        "cashConversionCycle": 129.3469364339099,
        "receivablesTurnover": 6.226750184229919,
        "daysSalesOutstanding": 58.61805744582648,
        "daysInventoryOutstanding": 143.6687315949282
      },
      "profitability": {
        "roa": 0.6151406306604901,
        "roe": 1.116574996283633,
        "roce": 0.7527482721833109,
        "roic": 0.6299357881627576,
        "netMargin": 0.629659435640713,
        "grossMargin": 0.741454331711974,
        "operatingMargin": 0.6402002437956377
      }
    },
    "GOOGL": {
      "health": {
        "cashRatio": 0.34233010756556465,
        "quickRatio": 1.9224466669065008,
        "currentRatio": 1.9224466669065008,
        "debtToEquity": 0.18900210132303977,
        "netDebtToEbitda": 0.2395676713205219,
        "interestCoverage": 276.94789579158316
      },
      "dividend": {
        "yield": 0.0023617,
        "payoutRatio": 0.06339883151902527
      },
      "perShare": {
        "eps": 13.241424911149682,
        "fcfPerShare": 5.325150838912307,
        "cashPerShare": 10.48351103396975,
        "revenuePerShare": 34.92569633854038,
        "dividendPerShare": 0.85,
        "bookValuePerShare": 39.56905529382593
      },
      "valuation": {
        "pb": 9.09574406887995,
        "pe": 27.18353474320242,
        "ps": 10.301502646104987,
        "peg": 0.5891933607019473,
        "pFcf": 67.56374873355166,
        "evSales": 10.425556640037296,
        "evEbitda": 20.133381016630487,
        "fcfYield": 0.014800836524682169,
        "earningsYield": 0.0367909335977041,
        "priceToFairValue": 9.09574406887995
      },
      "efficiency": {
        "grahamNumber": 108.57665575878792,
        "assetTurnover": 0.600304864622208,
        "effectiveTaxRate": 0.17609244583412617,
        "inventoryTurnover": 0,
        "cashConversionCycle": 17.68234032949514,
        "receivablesTurnover": 6.707503293703074,
        "daysSalesOutstanding": 54.416671005239415,
        "daysInventoryOutstanding": 0
      },
      "profitability": {
        "roa": 0.22759436810201172,
        "roe": 0.3898493363523653,
        "roce": 0.23315298170671012,
        "roic": 0.19209650290445626,
        "netMargin": 0.3791313072987415,
        "grossMargin": 0.6037423739723499,
        "operatingMargin": 0.32704240284357944
      }
    }
  }
}