← Research Library

GOOG research report

Generated 2026-07-03 15:44 · status: complete

GOOG — The Call

The Call

I think GOOG is a great business and a mediocre setup at $356.18. The moat is real, the balance sheet is clean, and the earnings power is elite — but the stock is already priced for that quality while free cash flow is doing too much heavy lifting from faith in future returns. At 27.18x earnings, 20.13x EV/EBITDA, and especially 67.56x free cash flow for a 1.48% FCF yield, I’m not chasing it here. I side with the business analyst on quality and with the valuation analyst on entry: own the company, not the current price. Conviction: 8/10

What This Company Actually Is

I see Alphabet as two machines under one roof. The first is Google Services, which taxes digital intent: when users search, watch YouTube, buy apps, subscribe, or use devices, Alphabet captures attention and converts it into ad dollars and recurring revenue. The second is Google Cloud, which sells core computing, AI, analytics, cybersecurity, and productivity tools into enterprise budgets. That mix matters. Search throws off extraordinary margins because user intent is hard to replicate at scale; Cloud gives it a second growth engine tied to corporate IT and AI spending. This is not a speculative tech story. It is a dominant distribution platform attached to one of the best monetization systems in the world.

The Numbers That Matter

  • Revenue: $402.963B — This is massive scale. Size alone is not the thesis, but size with these margins is.
  • Operating income: $129.166B — This tells me the core machine is enormously profitable before financing and taxes.
  • Net income: $132.170B — The earnings base is huge, which supports durability and buybacks.
  • Gross margin: 60.37% — The product mix is strong enough that pricing power is intact.
  • Operating margin: 32.70% — This is elite and roughly in line with Apple at 32.64%, above Cisco at 23.36% and EXLS at 15.17%, though below AVGO at 43.66%.
  • Net margin: 37.91% — That is exceptional. The business keeps an unusually large share of every revenue dollar.
  • ROIC: 19.21% and ROCE: 23.32% — Return on invested capital and return on capital employed measure how productively the business turns capital into profit. Near-20% returns at this scale tell me the moat is real.
  • Debt/equity: 0.189, net debt/EBITDA: 0.240, interest coverage: 276.95x — Translation: the balance sheet is not the risk.
  • Operating cash flow: $164.713B vs net income: $132.170B — Cash conversion is real; the books look clean.
  • Capex: $91.447B — This is the key offset. The business is outstanding, but it is not cheap to maintain and expand.
  • Free cash flow: $73.266B — Good in absolute dollars, less impressive relative to the market value.
  • Stock-based comp: $24.953B — Material enough that I refuse to ignore it; it is a real economic cost.
  • Buybacks: $45.709B and dividends: $10.049B — Capital returns are meaningful and covered by free cash flow, but they also show how much cash is already spoken for.
  • P/E: 27.18x, EV/EBITDA: 20.13x, P/S: 10.30x — This is a premium valuation, not a bargain valuation.
  • P/FCF: 67.56x and FCF yield: 1.48% — This is the number that keeps me from getting bullish at today’s quote.
  • PEG: 0.59 — Growth expectations are not insane relative to earnings, which is the best argument against calling the stock outright expensive.
  • Current price: 356.18 vs 50-day average: 368.244 and 200-day average: 315.56705 — The stock has cooled, but it has not become cheap.
  • 52-week range: 173.88 to 404.47 — At 356.18, I’m much closer to the high than the low.
  • Analyst targets: 345 to 450, median 400, consensus 399.67 — That implies upside, but not enough upside for me to call this a layup.

Bull vs Bear — Who Wins

The bull case is simple and strong: this is an elite business with 60.37% gross margin, 32.70% operating margin, 37.91% net margin, 19.21% ROIC, $132.170B in net income, and a fortress balance sheet with 0.189 debt/equity and 276.95x interest coverage. Add a PEG of 0.59, and I can see why investors pay up. The bear case is also simple: the stock already reflects most of that excellence. At 67.56x free cash flow and a 1.48% FCF yield, investors are paying as if capex intensity, stock comp, and growth execution will remain near perfect. And the capex number — $91.447B — is too big to wave away.

I pick the bear argument on the stock and the bull argument on the company. That is my verdict. The strongest fact in the whole file is not the margin profile; it is the mismatch between a world-class business and a thin cash yield at a $4.353T market cap. I am not bearish on Alphabet the business. I am bearish on overpaying for certainty.

Red Flags

  • Capex of $91.447B is enormous relative to $164.713B of operating cash flow. More than half of operating cash flow is consumed before I get to free cash flow.
  • P/FCF of 67.56x and FCF yield of 1.48% leave little room for disappointment.
  • Stock-based comp of $24.953B is large. I do not treat that as harmless just because it is non-cash in the period.
  • The stock is below the 50-day average of 368.244 and down from the 52-week high of 404.47. I do not overrate tape action, but weak momentum in an expensive stock matters.
  • The rebound from the 2026-06-26 close of 334.69 came after 82.48M volume on a down move. That is not ideal action.
  • There is EPS noise in the file: 2026 EPS average 14.27, fundamentals EPS 13.24, statement EPS figures around 10.81 and 10.91. When valuation is full, I care about definition mismatches.

What I'd Do

I would not chase GOOG at $356.18. I’d get interested below the analyst low target of 345, more interested in the $334.69–$342.19 area the valuation analyst flagged, and I’d love it near the 200-day average of 315.56705. Those levels matter because they are the first places where the current premium starts to get paid for by price rather than by optimism. If the stock instead reclaims and holds above the 50-day average of 368.244, that would tell me momentum has repaired — but even then I would still care more about valuation than chart support. My stance is clear: high-quality name, wait for a better entry anchored to 345, 334.69–342.19, or ideally 315.56705.

What Would Change My Mind

I would turn more constructive at current levels if one of two things happened: the stock fell into the entry zones above without any damage to the core numbers, or free cash flow improved enough that the current 67.56x P/FCF and 1.48% FCF yield no longer defined the setup. I would turn negative on the business if the quality metrics cracked — specifically if operating margin stopped looking elite relative to the current 32.70%, if cash conversion weakened so that operating cash flow no longer exceeded net income, if capex kept rising without corresponding free cash flow support from the current $73.266B, or if the balance sheet lost its conservative profile marked by 0.189 debt/equity and 0.240 net debt/EBITDA. I would also take the EPS-definition confusion more seriously if future reports widened that gap instead of clarifying it.

Glossary

  • Revenue — Total sales before expenses.
  • Operating income — Profit after operating costs but before interest and taxes.
  • Net income — Profit after all expenses, including taxes and interest.
  • Gross margin — Gross profit as a percentage of revenue; shows product-level profitability.
  • Operating margin — Operating income as a percentage of revenue; shows core business efficiency.
  • Net margin — Net income as a percentage of revenue; shows how much profit is kept from sales.
  • ROIC — Return on invested capital; how efficiently the company turns invested capital into profit.
  • ROCE — Return on capital employed; another measure of profit earned on capital used in the business.
  • Debt/equity — Debt divided by shareholder equity; a basic leverage measure.
  • Net debt/EBITDA — Net debt divided by operating cash profit; shows debt burden relative to earnings power.
  • Interest coverage — Operating income divided by interest expense; shows how easily interest is paid.
  • Operating cash flow — Cash generated from the business before capital spending.
  • Capex — Capital expenditures; money spent on equipment, infrastructure, and long-term assets.
  • Free cash flow — Operating cash flow minus capex; cash left after maintaining and growing the business.
  • Stock-based comp — Compensation paid in shares rather than cash; it can dilute owners.
  • Buybacks — Company repurchases of its own stock.
  • Dividend — Cash paid by the company directly to shareholders.
  • P/E — Price-to-earnings ratio; stock price divided by earnings per share.
  • EV/EBITDA — Enterprise value divided by EBITDA; a valuation measure that includes debt and cash.
  • P/S — Price-to-sales ratio; market value divided by revenue.
  • P/FCF — Price-to-free-cash-flow ratio; market value divided by free cash flow.
  • FCF yield — Free cash flow divided by market value; the cash return implied by the stock price.
  • PEG — P/E divided by expected earnings growth; a rough check on valuation versus growth.
  • 50-day average / 200-day average — Average stock price over those periods; commonly used trend markers.
  • 52-week range — The stock’s highest and lowest prices over the last year.
  • Analyst target — A sell-side analyst’s estimate of fair value for the stock.
  • Momentum — The tendency of a stock’s recent price trend to continue.
  • Dilution — Reduction in each shareholder’s ownership percentage when more shares are issued.

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
I’d call Alphabet a **great business**, full stop. The numbers show a real moat, not a PowerPoint moat.

**How it makes money**
From the description, the engine is clear: **Google Services** monetizes search, YouTube, app/content sales, subscriptions, and devices; **Google Cloud** sells enterprise infrastructure, AI, analytics, cybersecurity, and Workspace. In plain English, this is a business that sits between users and digital activity on one side, and advertisers and enterprise IT budgets on the other. That usually matters only if the economics are exceptional. Here, they are.

**What the numbers say**
This is a $402.963 billion revenue business with **$129.166 billion operating income** and **$132.170 billion net income**. That is massive scale with elite profitability:
- **Gross margin:** 60.37%
- **Operating margin:** 32.70%
- **Net margin:** 37.91%

A net margin near 38% means after all costs, Alphabet keeps almost $0.38 of every $1 of sales. That is not normal. That is market power.

Then I look at **returns on capital** — the best reality check for moat quality. Return on invested capital, or **ROIC**, asks: for every dollar the business puts to work, how much profit does it generate? Alphabet’s **ROIC is 19.21%** and **ROCE is 23.32%**. That’s excellent for a company this large.

Now compare that with the peers we actually have data for:
- **CSCO ROIC:** 12.30%
- **EXLS ROIC:** 18.04%
- **AVGO ROIC:** 19.50%
- **AAPL ROIC:** 49.57%

Alphabet is clearly above middling operators like Cisco and above EXLS, and roughly in line with AVGO on ROIC. Apple is stronger on ROIC, but Apple also carries much higher leverage with **debt/equity of 0.795** versus Alphabet’s **0.189**. Alphabet gets its returns with a much cleaner balance sheet.

**Balance sheet: fortress**
This is where I relax a bit as an owner:
- **Debt to equity:** 0.189
- **Current ratio:** 1.92
- **Interest coverage:** 276.95
- **Net debt to EBITDA:** 0.24

That last number is tiny. This is not a story resting on leverage. It’s an earning machine with minimal financial strain.

**Cash generation: very good, but one wrinkle**
Operating cash flow was **$164.713 billion**. Free cash flow was **$73.266 billion** after a huge **$91.447 billion** in capex. That capex load is enormous. So while this is a great business, it is not effortless. It takes real reinvestment to keep the machine humming.

I do notice the valuation metric:
- **P/FCF:** 67.56
- **FCF yield:** 1.48%

That is expensive against free cash flow. So I love the business more than I love the current cash yield on the stock. Important distinction.

**Does the moat show up in margins versus peers?**
Yes, mostly.
- Alphabet operating margin: **32.70%**
- Apple: **32.64%**
- AVGO: **43.66%**
- CSCO: **23.36%**
- EXLS: **15.17%**

Alphabet is firmly in elite territory. Not the highest in this peer set, but absolutely in the top tier. Combined with **60.37% gross margin**, that tells me customers and advertisers are paying for something valuable enough that price competition is not crushing returns.

**Capital allocation**
Alphabet paid **$10.049 billion** in dividends and repurchased **$45.709 billion** of stock. Dividend payout ratio is just **6.34%**, so the dividend is symbolic, not the thesis. Buybacks are the real capital return tool here.

**What I don’t love**
I’m not going to pretend this is perfect.
- **P/B of 9.10** and **price to fair value 9.10** are rich-looking metrics.
- **P/FCF of 67.56** is especially rich.
- The stock at **356.18** sits below the **50-day average of 368.244**, though above the **200-day average of 315.56705**. That’s trading context, not business quality, but it says the market has cooled from the **52-week high of 404.47**.
- Analyst targets run from **345** to **450**, with median **400**. That range tells me even the bulls aren’t looking at a no-brainer setup.

**My judgment**
This is not a mediocrity with good marketing. The numbers are too strong: **32.70% operating margin, 37.91% net margin, 19.21% ROIC, $132.170 billion net income, and a very lightly levered balance sheet**. That is a real moat.

**Bottom line:** I think Alphabet is a **great business**, but not automatically a great stock at any price. The business quality is unquestionable in this data; the only thing I’d argue about is how much I’m willing to pay for a **1.48% free cash flow yield**.
Forensic Accountant
I’m calling these books **CLEAN**.

Here’s why, and I’m sticking to the cash.

## 1) Debt load: light, and coverage is absurdly strong
- **Total debt:** **$59.291B**
- **Cash:** **$30.708B**
- **Net debt:** **$28.583B**
- **Total equity:** **$415.265B**
- **Debt-to-equity:** **0.189**
- **Net debt to EBITDA:** **0.240**
- **Interest expense:** **$143M**
- **Operating income:** **$129.166B**
- **Interest coverage:** **276.95x**

That is not a stressed balance sheet. “Interest coverage” means how many times operating profit covers interest expense. At **276.95x**, debt is nowhere near choking this business. Net debt at **$28.583B** against **$179.962B EBITDA** is conservative.

## 2) Liquidity: plenty of room
- **Current assets:** **$206.038B**
- **Current liabilities:** **$102.745B**
- **Current ratio:** **1.922**
- **Quick ratio:** **1.922**
- **Cash ratio:** **0.342**

A current ratio near **1.92** means short-term assets almost double short-term liabilities. Quick ratio matching current ratio also tells me there’s no inventory dependence propping it up. In fact, **inventory = 0** in the data.

## 3) Cash generation quality: strong, real, and better than earnings
This is where I look first. If accounting profit is fake-ish, cash usually tells on it.

- **Net income:** **$132.170B**
- **Operating cash flow:** **$164.713B**
- **Free cash flow:** **$73.266B**
- **Stock-based comp:** **$24.953B**
- **Net change in cash:** **+$7.242B**

Operating cash flow is **$32.543B higher** than net income (**$164.713B vs $132.170B**). That’s a good sign for earnings quality. The business is converting accounting profit into actual cash.

Now the catch: capex is huge.
- **Capex:** **$91.447B**

So while operating cash generation is excellent, free cash flow gets cut down to **$73.266B** after very heavy investment. That’s not a fraud smell; it is something to watch because high capex reduces flexibility if growth or margins weaken.

## 4) Shareholder returns: covered by free cash flow
- **Dividends paid:** **$10.049B**
- **Buybacks:** **$45.709B**
- **Total capital returned:** **$55.758B**
- **Free cash flow:** **$73.266B**

Buybacks plus dividends consumed about **76%** of free cash flow (**$55.758B / $73.266B**). That is covered. They are not obviously borrowing themselves into buybacks based on this data.

Dividend specifically looks very safe:
- **Dividend per share:** **$0.85**
- **Payout ratio:** **6.34%**
- **Dividend yield:** **0.236%**

No red flag there.

## 5) Equity and retained earnings: very clean
- **Total equity:** **$415.265B**
- **Retained earnings:** **$324.055B**

No negative equity. No retained earnings wipeout. Quite the opposite: retained earnings are massive. That usually means the business has built capital internally over time rather than living on financial engineering alone.

## 6) Profitability: elite, not strained
- **Gross margin:** **60.37%**
- **Operating margin:** **32.70%**
- **Net margin:** **37.91%**
- **ROE:** **38.98%**
- **ROA:** **22.76%**
- **ROIC:** **19.21%**

These are strong numbers. More importantly, they are backed by the cash figures above, which is what keeps me from dismissing them as pure accounting cosmetics.

## Specific red flags I do see
Not enough to make this smell bad, but enough to keep my eyes open:

1. **Capex is enormous**
   - **$91.447B** of capex against **$164.713B** operating cash flow.
   - That means over half of operating cash flow is getting reinvested before shareholders see free cash flow.
   - If returns on that investment disappoint, free cash flow can compress fast.

2. **Stock-based compensation is material**
   - **$24.953B** is not trivial.
   - SBC is a real economic cost even if accountants tuck it into non-cash adjustments in the cash flow statement.
   - Free cash flow exists, but part of the “cash strength” benefits from adding back a large non-cash compensation expense.

3. **Valuation is rich relative to free cash flow**
   - **Price/FCF: 67.56**
   - **FCF yield: 1.48%**
   - Those are valuation warning signs, not accounting warning signs. Great business, expensive cash stream.

4. **Receivables collection isn’t ultra-tight**
   - **Days sales outstanding:** **54.42 days**
   - Not alarming, just not exceptionally tight.

## What’s genuinely clean
- Debt is low relative to earnings: **net debt/EBITDA 0.240**
- Interest burden is almost irrelevant: **interest coverage 276.95x**
- Operating cash flow exceeds net income: **$164.713B
Valuation
I’d call GOOG **fair to slightly expensive at $356.18** — a great business, but not a bargain for a fresh buyer.

Here’s what the market is asking me to pay for:

- **27.18x earnings (P/E)** and **20.13x EV/EBITDA**. P/E is price divided by earnings; EV/EBITDA is enterprise value divided by operating cash profit. Both say this is priced as a high-quality, still-growing compounder, not a cyclical or value stock.
- The more telling number is the **PEG of 0.59**. PEG compares P/E to expected growth. A PEG below 1.0 usually says the valuation is not stretched relative to growth expectations. On the data given, that implies the market is pricing in solid earnings growth and analysts still think that growth is achievable.
- Forward estimates back that up: **2026 EPS average is 14.27** versus trailing per-share EPS in fundamentals of **13.24**. That’s roughly high-single-digit EPS growth already embedded in the current quote, not hypergrowth.
- On sales, the market cap is **$4.353 trillion** against FY2025 revenue of **$402.96 billion**, which matches the **10.30x P/S**. For a company with **32.70% operating margin** and **37.91% net margin**, a premium sales multiple is understandable — but it still means I’m paying up for quality.

What makes the ask reasonable:
- Profitability is elite: **gross margin 60.37%**, **operating margin 32.70%**, **net margin 37.91%**, **ROE 38.98%**, **ROIC 19.21%**.
- Balance sheet risk is low: **debt/equity 0.19**, **interest coverage 276.95**, **net debt/EBITDA 0.24**.
- Analysts are broadly constructive: **69 buys/strong buys vs 9 holds and 1 sell**, with **target consensus 399.67** and **target median 400**. That’s about **12% upside** from **$356.18**. Good, but not huge.
- The stock is no longer at peak heat: current price is below the **50-day average of 368.24**, basically on top of the **20-day SMA of 356.49** and **50-day EMA of 356.40**, with **RSI 48.64**. So technically it’s not overbought.

Why I’m not excited at today’s price:
- The free cash flow valuation is rich: **P/FCF 67.56x** and **FCF yield 1.48%**. FCF yield is free cash flow divided by market value — it tells me what cash return I’m getting on my purchase price. **1.48%** is thin. I need a lot of future growth and durability to justify that.
- Relative to peers in the bundle, GOOG is cheaper than some premium names on P/E and EV/EBITDA — for example **AAPL at 37.23x P/E** and **AVGO at 58.23x P/E** — but more expensive than cheaper operators like **EXLS at 17.10x P/E**. So this is not cheap in absolute terms; it’s just not the most expensive large-cap quality name either.
- The stock already sits much closer to the analyst median target (**400**) than to the **52-week low of 173.88**, and it’s only about **12% below the 52-week high of 404.47**. That’s not where I usually want to initiate aggressively.

What would make it interesting to me:
- **Below the analyst low target of 345**: that would push it under the low end of published target support.
- Around the recent weak patch near **$334.69** (the 2026-06-26 close) or **$334.69–$342.19**: that’s a real trading area from the tape, not an invented number.
- At least back near the **200-day average of 315.57** if the market gave me the chance. That would be a much better entry for a long-term buyer.
- Alternatively, if the stock re-rated down from **27.18x earnings** toward something closer to the low-20s P/E, that would be more compelling — but I can’t pin an exact price from the provided data beyond the chart and target levels above.

So what growth is priced in? I’d say the market is pricing in **continued durable, above-average earnings growth with no major margin damage**, roughly consistent with the move from **13.24** trailing EPS to **14.27** forward EPS and supported by the very low **0.59 PEG**. That’s not crazy. But with a **1.48% FCF yield**, I’m still paying a premium for certainty.

**Bottom line: GOOG is fair, maybe a touch expensive for a value-minded buyer, but acceptable for a quality-growth investor. I would not chase it at $356.18; I’d get interested closer to $345, more interested in the $334.69–$342.19 area, and I’d love it near the 200-day average of $315.57.**
Short Seller
I’m bearish here because the stock already prices Alphabet like a near-flawless compounder, while the hard numbers show cash generation is materially less impressive than the income statement headline suggests and the shares have already started losing momentum.

**Start with valuation risk.**  
This is a **$4.353 trillion** company trading at **27.18x earnings**, **10.30x sales**, **20.13x EV/EBITDA**, and an especially rich **67.56x free cash flow**. Free cash flow is the cash left after running the business and paying for capital spending; it is harder to fake than earnings. A **67.56x P/FCF** means buyers are accepting a very thin **1.48% FCF yield**. That is the first problem: the market is paying up for perfection, but the actual cash yield is low.

The second valuation problem is that the asset-heavy spend is real. In FY2025, Alphabet generated **$164.713 billion** of operating cash flow, but burned **$91.447 billion** in capex, leaving **$73.266 billion** of free cash flow. That capex burden consumed more than half of operating cash flow. So if the market wants to value this business on “cash machine” logic, the actual cash left over is much smaller than the revenue and net income numbers make it look.

And the internal rating data doesn’t support a premium this aggressive: **rating B+**, **overallScore 3**, **peScore 2**, **pbScore 1**. That is not what I want to see on a stock carrying a **$4.353 trillion** market cap and a **9.10x price-to-book / price-to-fair-value** figure.

**Now balance sheet risk — not distress risk, but capital efficiency risk.**  
The balance sheet is healthy in the narrow credit sense: **current ratio 1.92**, **debt/equity 0.189**, **interest coverage 276.95**. I’m not calling insolvency. But that’s exactly why the risk is more subtle: the company is safe, yet the stock is still expensive enough that safety may already be fully priced in.

More importantly, the cash cushion is less overwhelming than investors may assume from the company’s reputation. FY2025 cash was **$30.708 billion** against **$59.291 billion** of total debt, for **net debt of $28.583 billion**. On a ratio basis, **cash per share is 10.48** while the stock price is **356.18**. That cash is real, but it is tiny relative to what equity holders are paying.

Then there’s capital return strain. FY2025 free cash flow was **$73.266 billion**, while buybacks were **$45.709 billion** and dividends paid were **$10.049 billion**. Combined shareholder distributions were **$55.758 billion**, which is a very large draw against free cash flow. The company can afford it, but it reduces margin for error if cash conversion weakens or capex stays elevated.

**Deteriorating trends are visible in the tape.**  
I care when a richly valued stock starts acting worse than the story around it.

- Current price: **356.18**
- **50-day average: 368.244**
- **20-day SMA: 356.488**
- **50-day EMA: 356.404**
- **200-day average: 315.567**
- **52-week high: 404.47**

The stock is below the **50-day average** and sitting right around the short-term moving averages, which tells me momentum has stalled. More important, it has already fallen about **11.9%** from the **404.47** high to **356.18**. That’s not a collapse, but for a stock priced at **67.56x free cash flow**, I don’t want to see fading momentum ahead of the next earnings date on **2026-07-22**.

The recent trading path also shows distribution, meaning heavy selling into weakness. On **2026-06-26**, the stock closed at **334.69** on volume of **82.48 million**, by far the biggest volume spike in the data set. That kind of volume on a down move matters. It says someone large was getting out. Since then the rebound only brought the stock back to **356.18**, still well below the **404.47** high.

**The core fundamental tension is earnings quality versus cash reality.**  
Alphabet’s profitability looks outstanding on paper:

- **Net margin: 37.91%**
- **Operating margin: 32.70%**
- **ROE: 38.98%**
- **ROIC: 19.21%**

But then I look at what it takes to support that:

- **R&D: $61.087 billion**
- **Capex: $91.447 billion**
- **Stock-based comp: $24.953 billion**

Those are huge numbers. Stock-based comp is pay in shares instead of cash; it protects current cash flow but dilutes owners over time unless buybacks offset it. Alphabet did spend **$45.709 billion** on buybacks, but that means a big chunk of shareholder return is being used just to neutralize equity compensation and support per-share optics. Again, not fraud, not weakness in the credit sense — just a much more expensive machine to maintain than the headline margins imply.

Also notice the gap between the statement EPS and the market multiple inputs. FY2025 diluted EPS is **10.81** and EPS is **10.91** in the statements, while the fundamentals section uses **EPS 13.24** and the
Data snapshot (figures as of generation)
{
  "ohlc": [
    {
      "low": 312.71,
      "date": "2026-04-08",
      "high": 319.39,
      "open": 317.83,
      "close": 314.74,
      "volume": 20887530
    },
    {
      "low": 309.47,
      "date": "2026-04-09",
      "high": 317.43,
      "open": 313.19,
      "close": 316.37,
      "volume": 14606800
    },
    {
      "low": 314.54,
      "date": "2026-04-10",
      "high": 319.5,
      "open": 318.23,
      "close": 315.72,
      "volume": 11997647
    },
    {
      "low": 313.69,
      "date": "2026-04-13",
      "high": 319.43,
      "open": 315.42,
      "close": 319.21,
      "volume": 12212807
    },
    {
      "low": 321.15,
      "date": "2026-04-14",
      "high": 330.64,
      "open": 322.07,
      "close": 330.58,
      "volume": 18557500
    },
    {
      "low": 328.66,
      "date": "2026-04-15",
      "high": 335,
      "open": 330.56,
      "close": 334.47,
      "volume": 15104100
    },
    {
      "low": 331.65,
      "date": "2026-04-16",
      "high": 337.38,
      "open": 335.85,
      "close": 332.77,
      "volume": 13949600
    },
    {
      "low": 333.29,
      "date": "2026-04-17",
      "high": 339.99,
      "open": 334.43,
      "close": 339.4,
      "volume": 19683848
    },
    {
      "low": 334.63,
      "date": "2026-04-20",
      "high": 339.16,
      "open": 338.56,
      "close": 335.4,
      "volume": 12897300
    },
    {
      "low": 329.63,
      "date": "2026-04-21",
      "high": 337.17,
      "open": 335.59,
      "close": 330.47,
      "volume": 14623836
    },
    {
      "low": 332.96,
      "date": "2026-04-22",
      "high": 338.03,
      "open": 334.89,
      "close": 337.73,
      "volume": 12954245
    },
    {
      "low": 335.06,
      "date": "2026-04-23",
      "high": 340.16,
      "open": 339.58,
      "close": 337.75,
      "volume": 13442135
    },
    {
      "low": 334.05,
      "date": "2026-04-24",
      "high": 343.69,
      "open": 337.72,
      "close": 342.32,
      "volume": 18260900
    },
    {
      "low": 340.81,
      "date": "2026-04-27",
      "high": 350.9,
      "open": 343.88,
      "close": 348.52,
      "volume": 17443019
    },
    {
      "low": 344.28,
      "date": "2026-04-28",
      "high": 349.9,
      "open": 346.92,
      "close": 347.5,
      "volume": 18502342
    },
    {
      "low": 342.43,
      "date": "2026-04-29",
      "high": 353.4,
      "open": 345.48,
      "close": 347.31,
      "volume": 22232200
    },
    {
      "low": 363.09,
      "date": "2026-04-30",
      "high": 382.63,
      "open": 371.26,
      "close": 381.94,
      "volume": 44570523
    },
    {
      "low": 375.26,
      "date": "2026-05-01",
      "high": 383.39,
      "open": 377.98,
      "close": 383.22,
      "volume": 28047900
    },
    {
      "low": 376.77,
      "date": "2026-05-04",
      "high": 384.18,
      "open": 382.32,
      "close": 379.64,
      "volume": 18275044
    },
    {
      "low": 380.35,
      "date": "2026-05-05",
      "high": 388.96,
      "open": 381.87,
      "close": 384.27,
      "volume": 15432500
    },
    {
      "low": 387.1,
      "date": "2026-05-06",
      "high": 396.38,
      "open": 389.59,
      "close": 395.14,
      "volume": 23097346
    },
    {
      "low": 390.31,
      "date": "2026-05-07",
      "high": 397.36,
      "open": 397.06,
      "close": 395.3,
      "volume": 15153626
    },
    {
      "low": 393.67,
      "date": "2026-05-08",
      "high": 398.37,
      "open": 394.27,
      "close": 397.05,
      "volume": 13762500
    },
    {
      "low": 386.23,
      "date": "2026-05-11",
      "high": 394.33,
      "open": 390.69,
      "close": 386.77,
      "volume": 16314946
    },
    {
      "low": 379.72,
      "date": "2026-05-12",
      "high": 386.44,
      "open": 385,
      "close": 383.82,
      "volume": 17103932
    },
    {
      "low": 381.58,
      "date": "2026-05-13",
      "high": 399.93,
      "open": 381.91,
      "close": 399.04,
      "volume": 18160118
    },
    {
      "low": 392.73,
      "date": "2026-05-14",
      "high": 399.1,
      "open": 393.79,
      "close": 397.17,
      "volume": 13805400
    },
    {
      "low": 389.76,
      "date": "2026-05-15",
      "high": 395.88,
      "open": 393.22,
      "close": 393.32,
      "volume": 15801942
    },
    {
      "low": 390.9,
      "date": "2026-05-18",
      "high": 404.47,
      "open": 392.13,
      "close": 393.11,
      "volume": 18592800
    },
    {
      "low": 383,
      "date": "2026-05-19",
      "high": 393.36,
      "open": 393.3,
      "close": 384.9,
      "volume": 25559400
    },
    {
      "low": 380,
      "date": "2026-05-20",
      "high": 390.7,
      "open": 385.04,
      "close": 384.9,
      "volume": 16488132
    },
    {
      "low": 379.48,
      "date": "2026-05-21",
      "high": 388.68,
      "open": 382.01,
      "close": 383.47,
      "volume": 16837601
    },
    {
      "low": 378.26,
      "date": "2026-05-22",
      "high": 384.87,
      "open": 383.26,
      "close": 379.38,
      "volume": 13382800
    },
    {
      "low": 379.14,
      "date": "2026-05-26",
      "high": 385.39,
      "open": 381,
      "close": 384.84,
      "volume": 16150933
    },
    {
      "low": 382,
      "date": "2026-05-27",
      "high": 389.73,
      "open": 382.77,
      "close": 384.83,
      "volume": 16893148
    },
    {
      "low": 381.25,
      "date": "2026-05-28",
      "high": 390,
      "open": 383.86,
      "close": 386.12,
      "volume": 20795414
    },
    {
      "low": 374.3,
      "date": "2026-05-29",
      "high": 381.65,
      "open": 381.23,
      "close": 376.43,
      "volume": 48018600
    },
    {
      "low": 369.71,
      "date": "2026-06-01",
      "high": 374.6,
      "open": 372.58,
      "close": 372.58,
      "volume": 19091900
    },
    {
      "low": 355,
      "date": "2026-06-02",
      "high": 369.79,
      "open": 363.16,
      "close": 358.39,
      "volume": 34648621
    },
    {
      "low": 354.38,
      "date": "2026-06-03",
      "high": 362.5,
      "open": 358.34,
      "close": 355.68,
      "volume": 43031002
    },
    {
      "low": 354.8,
      "date": "2026-06-04",
      "high": 369.86,
      "open": 355.44,
      "close": 369.27,
      "volume": 37746200
    },
    {
      "low": 361.63,
      "date": "2026-06-05",
      "high": 369.2,
      "open": 363.38,
      "close": 365.76,
      "volume": 23411519
    },
    {
      "low": 357.89,
      "date": "2026-06-08",
      "high": 363.38,
      "open": 362.49,
      "close": 361.17,
      "volume": 18739000
    },
    {
      "low": 354.72,
      "date": "2026-06-09",
      "high": 369.69,
      "open": 364.89,
      "close": 362.29,
      "volume": 19873600
    },
    {
      "low": 352.81,
      "date": "2026-06-10",
      "high": 366.31,
      "open": 361.05,
      "close": 353.32,
      "volume": 19878635
    },
    {
      "low": 343.63,
      "date": "2026-06-11",
      "high": 358.01,
      "open": 353.05,
      "close": 356.56,
      "volume": 28771804
    },
    {
      "low": 353.34,
      "date": "2026-06-12",
      "high": 364.77,
      "open": 361.1,
      "close": 358.16,
      "volume": 17657657
    },
    {
      "low": 364.65,
      "date": "2026-06-15",
      "high": 370.65,
      "open": 365.99,
      "close": 367.11,
      "volume": 17268649
    },
    {
      "low": 365.32,
      "date": "2026-06-16",
      "high": 373.6,
      "open": 367.47,
      "close": 371.1,
      "volume": 16492800
    },
    {
      "low": 360.23,
      "date": "2026-06-17",
      "high": 370.15,
      "open": 367.05,
      "close": 362.1,
      "volume": 16003508
    },
    {
      "low": 356.61,
      "date": "2026-06-18",
      "high": 369,
      "open": 363.89,
      "close": 367.46,
      "volume": 29339118
    },
    {
      "low": 340.94,
      "date": "2026-06-22",
      "high": 358.2,
      "open": 357.14,
      "close": 348.78,
      "volume": 32211200
    },
    {
      "low": 339.72,
      "date": "2026-06-23",
      "high": 348.72,
      "open": 340.11,
      "close": 346.08,
      "volume": 21820944
    },
    {
      "low": 341.5,
      "date": "2026-06-24",
      "high": 352.83,
      "open": 348.72,
      "close": 345.04,
      "volume": 23898400
    },
    {
      "low": 335.9,
      "date": "2026-06-25",
      "high": 343.19,
      "open": 336.92,
      "close": 342.19,
      "volume": 27687600
    },
    {
      "low": 333.69,
      "date": "2026-06-26",
      "high": 344.12,
      "open": 340.98,
      "close": 334.69,
      "volume": 82484600
    },
    {
      "low": 338.81,
      "date": "2026-06-29",
      "high": 351.97,
      "open": 339.95,
      "close": 351.28,
      "volume": 25565726
    },
    {
      "low": 348.11,
      "date": "2026-06-30",
      "high": 355.39,
      "open": 350.96,
      "close": 353.33,
      "volume": 21278449
    },
    {
      "low": 353.23,
      "date": "2026-07-01",
      "high": 359.56,
      "open": 354.62,
      "close": 357.89,
      "volume": 19546800
    },
    {
      "low": 350.32,
      "date": "2026-07-02",
      "high": 360.99,
      "open": 356.15,
      "close": 356.18,
      "volume": 15553221
    }
  ],
  "peers": [
    {
      "price": 308.63,
      "symbol": "AAPL",
      "companyName": "Apple Inc."
    },
    {
      "price": 360.45,
      "symbol": "AVGO",
      "companyName": "Broadcom Inc."
    },
    {
      "price": 112.69,
      "symbol": "CSCO",
      "companyName": "Cisco Systems, Inc."
    },
    {
      "price": 27.02,
      "symbol": "EXLS",
      "companyName": "ExlService Holdings, Inc."
    },
    {
      "price": 136.855,
      "symbol": "FLEX",
      "companyName": "Flex Ltd."
    },
    {
      "price": 239.96,
      "symbol": "GRMN",
      "companyName": "Garmin Ltd."
    },
    {
      "price": 582.9,
      "symbol": "META",
      "companyName": "Meta Platforms, Inc."
    },
    {
      "price": 390.49,
      "symbol": "MSFT",
      "companyName": "Microsoft Corporation"
    }
  ],
  "quote": {
    "name": "Alphabet Inc.",
    "open": 356.15,
    "price": 356.18,
    "change": -1.71,
    "dayLow": 350.32,
    "symbol": "GOOG",
    "volume": 15349624,
    "dayHigh": 360.99,
    "yearLow": 173.88,
    "exchange": "NASDAQ",
    "yearHigh": 404.47,
    "marketCap": 4353064766971.0005,
    "priceAvg50": 368.244,
    "priceAvg200": 315.56705,
    "previousClose": 357.89,
    "changePercentage": -0.4778
  },
  "grades": [
    {
      "date": "2026-06-09",
      "action": "maintain",
      "company": "TD Cowen",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2026-05-15",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2026-04-30",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2026-04-30",
      "action": "maintain",
      "company": "Scotiabank",
      "toGrade": "Sector Outperform",
      "fromGrade": "Sector Outperform"
    },
    {
      "date": "2026-04-30",
      "action": "maintain",
      "company": "TD Cowen",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2026-04-16",
      "action": "maintain",
      "company": "TD Cowen",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2026-02-12",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2026-02-05",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2026-02-05",
      "action": "maintain",
      "company": "TD Cowen",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2026-02-05",
      "action": "maintain",
      "company": "Scotiabank",
      "toGrade": "Sector Outperform",
      "fromGrade": "Sector Outperform"
    },
    {
      "date": "2026-01-22",
      "action": "upgrade",
      "company": "Raymond James",
      "toGrade": "Strong Buy",
      "fromGrade": "Outperform"
    },
    {
      "date": "2026-01-13",
      "action": "maintain",
      "company": "TD Cowen",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2026-01-09",
      "action": "maintain",
      "company": "Scotiabank",
      "toGrade": "Sector Outperform",
      "fromGrade": "Sector Outperform"
    },
    {
      "date": "2025-12-12",
      "action": "maintain",
      "company": "TD Cowen",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-12-05",
      "action": "maintain",
      "company": "Pivotal Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-10-30",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-10-30",
      "action": "maintain",
      "company": "Scotiabank",
      "toGrade": "Sector Outperform",
      "fromGrade": "Sector Outperform"
    },
    {
      "date": "2025-10-27",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-10-24",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-10-20",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-10-16",
      "action": "maintain",
      "company": "Scotiabank",
      "toGrade": "Sector Outperform",
      "fromGrade": "Sector Outperform"
    },
    {
      "date": "2025-10-09",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2025-10-08",
      "action": "maintain",
      "company": "TD Cowen",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-09-03",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-09-03",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-08-05",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-07-24",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-07-24",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-07-24",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-07-22",
      "action": "maintain",
      "company": "Scotiabank",
      "toGrade": "Sector Outperform",
      "fromGrade": "Sector Outperform"
    },
    {
      "date": "2025-07-16",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2025-07-11",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-07-09",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-04-25",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-04-25",
      "action": "maintain",
      "company": "WestPark Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2025-04-25",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-04-21",
      "action": "maintain",
      "company": "Scotiabank",
      "toGrade": "Sector Outperform",
      "fromGrade": "Sector Outperform"
    },
    {
      "date": "2025-04-11",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2025-04-09",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2025-01-30",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2025-01-24",
      "action": "maintain",
      "company": "Scotiabank",
      "toGrade": "Sector Outperform",
      "fromGrade": "Sector Outperform"
    },
    {
      "date": "2024-10-30",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2024-10-30",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2024-10-30",
      "action": "maintain",
      "company": "Pivotal Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-10-30",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-10-30",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-10-30",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-10-30",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2024-10-30",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-10-30",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2024-10-30",
      "action": "upgrade",
      "company": "Seaport Global",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2024-10-07",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2024-09-25",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-07-24",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-07-10",
      "action": "maintain",
      "company": "TD Cowen",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-04-16",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2024-04-11",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2024-04-08",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-03-22",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2024-01-31",
      "action": "maintain",
      "company": "Susquehanna",
      "toGrade": "Positive",
      "fromGrade": "Positive"
    },
    {
      "date": "2024-01-24",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-11-21",
      "action": "maintain",
      "company": "Tigress Financial",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2023-10-25",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-10-25",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-10-24",
      "action": "maintain",
      "company": "Roth MKM",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-10-24",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2023-10-24",
      "action": "downgrade",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-10-24",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-10-24",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-10-24",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-10-24",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-10-24",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-10-24",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-10-24",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-10-12",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-10-09",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2023-10-03",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-10-02",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-09-12",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-08-30",
      "action": "maintain",
      "company": "Susquehanna",
      "toGrade": "Positive",
      "fromGrade": "Positive"
    },
    {
      "date": "2023-08-29",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2023-08-29",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-08-17",
      "action": "maintain",
      "company": "Loop Capital",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2023-08-10",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-07-25",
      "action": "maintain",
      "company": "Susquehanna",
      "toGrade": "Positive",
      "fromGrade": "Positive"
    },
    {
      "date": "2023-07-25",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-07-25",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-07-25",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-07-25",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2023-07-25",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-07-25",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-07-25",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-07-25",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2023-07-25",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-07-25",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-07-20",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-07-19",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-07-17",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-07-16",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-07-13",
      "action": "maintain",
      "company": "TD Cowen",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-07-13",
      "action": "maintain",
      "company": "Tigress Financial",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2023-07-12",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-07-07",
      "action": "maintain",
      "company": "Wolfe Research",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-07-05",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-07-04",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-07-04",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-07-03",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-07-03",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-07-03",
      "action": "maintain",
      "company": "Loop Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-30",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-30",
      "action": "maintain",
      "company": "New Street Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-29",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-29",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-06-29",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-06-28",
      "action": "maintain",
      "company": "Truist Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-28",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-28",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-28",
      "action": "maintain",
      "company": "Roth MKM",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-28",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-06-28",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-28",
      "action": "downgrade",
      "company": "Tigress Financial",
      "toGrade": "Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2023-06-28",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-06-27",
      "action": "maintain",
      "company": "MKM Partners",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-27",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-27",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-27",
      "action": "maintain",
      "company": "Loop Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-27",
      "action": "upgrade",
      "company": "Exane BNP Paribas",
      "toGrade": "Outperform",
      "fromGrade": "Neutral"
    },
    {
      "date": "2023-06-27",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-06-27",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-06-27",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2023-06-27",
      "action": "downgrade",
      "company": "Loop Capital",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-26",
      "action": "downgrade",
      "company": "UBS",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-26",
      "action": "downgrade",
      "company": "Bernstein",
      "toGrade": "Market Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-06-26",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-26",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-26",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-06-26",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-06-26",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-06-14",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-06-07",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Equal Weight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2023-06-05",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2023-05-24",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2023-05-23",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-05-15",
      "action": "downgrade",
      "company": "Loop Capital",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-05-11",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-05-11",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-05-11",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2023-05-09",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-04-26",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-04-26",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-04-26",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-04-26",
      "action": "maintain",
      "company": "Loop Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-04-26",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-04-26",
      "action": "maintain",
      "company": "Wolfe Research",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-04-26",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-04-26",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-04-26",
      "action": "maintain",
      "company": "Roth MKM",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-04-26",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-04-26",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-04-26",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-04-26",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-04-26",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-04-26",
      "action": "maintain",
      "company": "Truist Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-04-26",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-04-26",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-04-26",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-04-26",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-04-26",
      "action": "maintain",
      "company": "TD Cowen",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-04-26",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2023-04-24",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-04-20",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-04-06",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-04-06",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-04-03",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-03-31",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-03-30",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-03-21",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-03-17",
      "action": "upgrade",
      "company": "Exane BNP Paribas",
      "toGrade": "Outperform",
      "fromGrade": "Neutral"
    },
    {
      "date": "2023-03-16",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2023-03-08",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-02-10",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-02-09",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-02-08",
      "action": "maintain",
      "company": "Loop Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-02-07",
      "action": "maintain",
      "company": "New Street Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-02-06",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "Roth MKM",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "Truist Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "Wolfe Research",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-02-03",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2023-01-31",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-01-30",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-01-26",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-01-25",
      "action": "maintain",
      "company": "MKM Partners",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2023-01-25",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-01-24",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-01-18",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2023-01-11",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-01-10",
      "action": "maintain",
      "company": "TD Cowen",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2023-01-06",
      "action": "maintain",
      "company": "Tigress Financial",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2023-01-05",
      "action": "maintain",
      "company": "Wolfe Research",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-12-22",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-12-22",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-12-21",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-11-30",
      "action": "maintain",
      "company": "Mizuho",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-11-30",
      "action": "maintain",
      "company": "Societe Generale",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-11-23",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2022-11-18",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-11-15",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-10-26",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-10-26",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-10-26",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-10-26",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-10-26",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-10-26",
      "action": "maintain",
      "company": "Truist Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-10-26",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-10-26",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-10-26",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2022-10-26",
      "action": "maintain",
      "company": "Susquehanna",
      "toGrade": "Positive",
      "fromGrade": "Positive"
    },
    {
      "date": "2022-10-26",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-10-26",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-10-26",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-10-26",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-10-26",
      "action": "maintain",
      "company": "Mizuho",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-10-26",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-10-26",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-10-26",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-10-26",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-10-26",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-10-26",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-10-25",
      "action": "maintain",
      "company": "TD Cowen",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-10-25",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-10-25",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-10-21",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-10-21",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-10-19",
      "action": "maintain",
      "company": "MKM Partners",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-10-11",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-10-10",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-10-06",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-10-04",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-09-28",
      "action": "maintain",
      "company": "Truist Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-09-14",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-09-07",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-08-03",
      "action": "maintain",
      "company": "Tigress Financial",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2022-08-02",
      "action": "maintain",
      "company": "Truist Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-07-27",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-07-27",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-07-27",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-07-27",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-07-27",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-07-27",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-07-27",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-07-27",
      "action": "maintain",
      "company": "Wolfe Research",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-07-27",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-07-27",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-07-27",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-07-27",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-07-27",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-07-27",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-07-27",
      "action": "maintain",
      "company": "Susquehanna",
      "toGrade": "Positive",
      "fromGrade": "Positive"
    },
    {
      "date": "2022-07-27",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-07-26",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-07-25",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-07-22",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-07-22",
      "action": "maintain",
      "company": "Mizuho",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-07-21",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-07-20",
      "action": "downgrade",
      "company": "Exane BNP Paribas",
      "toGrade": "Neutral",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-07-19",
      "action": "maintain",
      "company": "Truist Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-07-19",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-07-19",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-07-19",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-07-19",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-07-18",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-07-18",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-07-14",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-07-13",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-07-12",
      "action": "maintain",
      "company": "TD Cowen",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-07-07",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-07-05",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-06-30",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2022-06-29",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-06-23",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-06-17",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-06-16",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-06-10",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-06-02",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-06-02",
      "action": "maintain",
      "company": "Wolfe Research",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-06-01",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-05-24",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-04-27",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-04-27",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-04-27",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-04-27",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-04-27",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-04-27",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-04-27",
      "action": "maintain",
      "company": "Truist Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-04-27",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-04-27",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-04-27",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-04-27",
      "action": "maintain",
      "company": "Wolfe Research",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-04-27",
      "action": "maintain",
      "company": "Rosenblatt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-04-27",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2022-04-27",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-04-27",
      "action": "maintain",
      "company": "Mizuho",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-04-27",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-04-27",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-04-27",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-04-27",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-04-27",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-04-26",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-04-26",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-04-21",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-04-20",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-04-20",
      "action": "upgrade",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2022-04-19",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-04-14",
      "action": "maintain",
      "company": "MKM Partners",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-03-18",
      "action": "maintain",
      "company": "Tigress Financial",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2022-03-02",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-02-02",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-02-02",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-02-02",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-02-02",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-02-02",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-02-02",
      "action": "maintain",
      "company": "Mizuho",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-02-02",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-02-02",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-02-02",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-02-02",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-02-02",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-02-02",
      "action": "maintain",
      "company": "Wolfe Research",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-02-02",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-02-02",
      "action": "maintain",
      "company": "MKM Partners",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-02-02",
      "action": "maintain",
      "company": "Truist Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-02-02",
      "action": "maintain",
      "company": "Susquehanna",
      "toGrade": "Positive",
      "fromGrade": "Positive"
    },
    {
      "date": "2022-02-02",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-02-02",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2022-02-01",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-02-01",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-02-01",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-01-28",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-01-27",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-01-25",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2022-01-24",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-01-19",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2022-01-19",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-12-03",
      "action": "maintain",
      "company": "Tigress Financial",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2021-11-16",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-11-02",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-10-28",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2021-10-27",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-10-27",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-10-27",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-10-27",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-10-27",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-10-27",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-10-27",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-10-27",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-10-27",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-10-27",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-10-27",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-10-27",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-10-27",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-10-27",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-10-27",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-10-27",
      "action": "maintain",
      "company": "Truist Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-10-27",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2021-10-26",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2021-10-26",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-10-25",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-10-21",
      "action": "maintain",
      "company": "Mizuho",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-07-29",
      "action": "maintain",
      "company": "Argus Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Truist Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Wolfe Research",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Mizuho",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "MKM Partners",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Susquehanna",
      "toGrade": "Positive",
      "fromGrade": "Positive"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2021-07-28",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-07-23",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-07-20",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-06-11",
      "action": "maintain",
      "company": "Tigress Financial",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2021-05-10",
      "action": "downgrade",
      "company": "Citigroup",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-05-03",
      "action": "upgrade",
      "company": "China Renaissance",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2021-04-29",
      "action": "maintain",
      "company": "Argus Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-04-28",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-04-28",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-04-28",
      "action": "maintain",
      "company": "Susquehanna",
      "toGrade": "Positive",
      "fromGrade": "Positive"
    },
    {
      "date": "2021-04-28",
      "action": "maintain",
      "company": "Mizuho",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-04-28",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-04-28",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2021-04-28",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-04-28",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-04-28",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-04-28",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-04-28",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-04-28",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-04-28",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-04-28",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-04-28",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-04-28",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-04-28",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-04-28",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-04-26",
      "action": "maintain",
      "company": "Truist Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-04-23",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-04-23",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-04-22",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-04-20",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-04-19",
      "action": "maintain",
      "company": "Mizuho",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-04-19",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-04-19",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-04-15",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-04-14",
      "action": "maintain",
      "company": "TD Cowen",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-04-09",
      "action": "maintain",
      "company": "Argus Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-03-30",
      "action": "upgrade",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2021-03-25",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-03-19",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-02-16",
      "action": "upgrade",
      "company": "Loop Capital",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2021-02-12",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-02-03",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-02-03",
      "action": "maintain",
      "company": "TD Cowen",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-02-03",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-02-03",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-02-03",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-02-03",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-02-03",
      "action": "maintain",
      "company": "MKM Partners",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-02-03",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-02-03",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-02-03",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-02-03",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-02-03",
      "action": "maintain",
      "company": "Pivotal Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-02-03",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-02-03",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-02-03",
      "action": "maintain",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-02-03",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-02-03",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2021-02-03",
      "action": "maintain",
      "company": "Truist Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-02-03",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-02-02",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-02-02",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-02-02",
      "action": "maintain",
      "company": "KeyBanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-02-01",
      "action": "maintain",
      "company": "Truist Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-01-28",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-01-28",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-01-25",
      "action": "maintain",
      "company": "Mizuho",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-01-25",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-01-22",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2021-01-19",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-01-18",
      "action": "maintain",
      "company": "KeyBanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2021-01-11",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2021-01-05",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-12-31",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-12-18",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-11-03",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2020-11-02",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-11-01",
      "action": "maintain",
      "company": "Argus Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-10-30",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-10-30",
      "action": "maintain",
      "company": "Mizuho",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-10-30",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-10-30",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-10-30",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-10-30",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-10-30",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2020-10-30",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-10-30",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-10-30",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-10-30",
      "action": "maintain",
      "company": "Truist Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-10-30",
      "action": "maintain",
      "company": "MKM Partners",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-10-30",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-10-30",
      "action": "maintain",
      "company": "Susquehanna",
      "toGrade": "Positive",
      "fromGrade": "Positive"
    },
    {
      "date": "2020-10-23",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-10-20",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-10-16",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-10-12",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-09-24",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-09-23",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-08-25",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-08-03",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2020-08-02",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "Susquehanna",
      "toGrade": "Positive",
      "fromGrade": "Positive"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-07-31",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-07-29",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-07-28",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-07-27",
      "action": "maintain",
      "company": "MKM Partners",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-07-21",
      "action": "maintain",
      "company": "Mizuho",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-07-20",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-07-20",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-07-16",
      "action": "maintain",
      "company": "SunTrust Robinson Humphrey",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-07-16",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-07-13",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-07-13",
      "action": "maintain",
      "company": "Mizuho",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-07-13",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-07-09",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-06-24",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-06-22",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-06-10",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-05-12",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-05-05",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-04-29",
      "action": "maintain",
      "company": "MKM Partners",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-04-29",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-04-29",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-04-29",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-04-29",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-04-29",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-04-29",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-04-29",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-04-29",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-04-29",
      "action": "maintain",
      "company": "Mizuho",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-04-29",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-04-29",
      "action": "maintain",
      "company": "SunTrust Robinson Humphrey",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-04-29",
      "action": "maintain",
      "company": "Nomura Instinet",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-04-28",
      "action": "maintain",
      "company": "Pivotal Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-04-28",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-04-22",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-04-21",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-04-20",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-04-20",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-04-17",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-04-17",
      "action": "maintain",
      "company": "Mizuho",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-04-07",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-03-30",
      "action": "upgrade",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2020-03-30",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-03-30",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-03-30",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2020-03-26",
      "action": "maintain",
      "company": "SunTrust Robinson Humphrey",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-03-18",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-03-05",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-02-25",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-02-07",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-02-06",
      "action": "maintain",
      "company": "CFRA",
      "toGrade": "Strong Buy",
      "fromGrade": "Strong Buy"
    },
    {
      "date": "2020-02-05",
      "action": "maintain",
      "company": "Argus Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-02-04",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2020-02-04",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-02-04",
      "action": "maintain",
      "company": "Pivotal Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-02-04",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-02-04",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-02-04",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-02-04",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-02-04",
      "action": "maintain",
      "company": "SunTrust Robinson Humphrey",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-02-04",
      "action": "maintain",
      "company": "Susquehanna",
      "toGrade": "Positive",
      "fromGrade": "Positive"
    },
    {
      "date": "2020-02-04",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2020-02-04",
      "action": "maintain",
      "company": "Nomura Instinet",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-02-04",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-02-04",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-02-03",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-01-31",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2020-01-30",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-01-27",
      "action": "maintain",
      "company": "Mizuho",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-01-24",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-01-21",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2020-01-17",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2020-01-13",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2020-01-06",
      "action": "upgrade",
      "company": "Pivotal Research",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2019-12-04",
      "action": "upgrade",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2019-10-29",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-10-29",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-10-29",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-10-28",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-10-28",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2019-10-28",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-10-28",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-10-24",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2019-10-23",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-07-25",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-07-25",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2019-07-25",
      "action": "maintain",
      "company": "Mizuho",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-07-25",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-07-25",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2019-07-25",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-07-25",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-07-25",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-07-25",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-07-14",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-05-15",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-04-30",
      "action": "downgrade",
      "company": "DZ Bank",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-04-29",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-04-29",
      "action": "downgrade",
      "company": "Stifel",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-04-29",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-04-24",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2019-02-05",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-02-05",
      "action": "maintain",
      "company": "PiperJaffray",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-02-05",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-02-04",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2019-02-04",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-02-04",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-02-04",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2019-01-23",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2019-01-06",
      "action": "upgrade",
      "company": "Pivotal Research",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2019-01-02",
      "action": "upgrade",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2018-11-13",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-11-01",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2018-10-26",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2018-10-25",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-10-25",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2018-10-25",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-10-23",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-08-28",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-07-24",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2018-07-24",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2018-07-23",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-07-23",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-07-23",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2018-07-23",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2018-07-23",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2018-07-23",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-07-23",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-07-23",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2018-07-23",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-07-23",
      "action": "maintain",
      "company": "B. Riley Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-07-23",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-07-15",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2018-07-13",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2018-07-12",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-06-27",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-05-05",
      "action": "maintain",
      "company": "B. Riley FBR",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-04-24",
      "action": "upgrade",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2018-04-24",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-04-24",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-04-23",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-04-23",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-04-23",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-04-23",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2018-04-23",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2018-04-22",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2018-04-19",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2018-04-09",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-02-02",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-02-02",
      "action": "maintain",
      "company": "PiperJaffray",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-02-01",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2018-02-01",
      "action": "downgrade",
      "company": "Stifel",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-02-01",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-02-01",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2018-02-01",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Outperform",
      "fromGrade": "Overweight"
    },
    {
      "date": "2018-01-25",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2017-10-29",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-10-27",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-10-27",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2017-10-26",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-10-26",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2017-10-26",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-10-26",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2017-10-10",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2017-09-26",
      "action": "maintain",
      "company": "Wells Fargo",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2017-07-25",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-07-25",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-07-25",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-07-24",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2017-07-24",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2017-07-21",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-06-14",
      "action": "downgrade",
      "company": "Canaccord Genuity",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-04-03",
      "action": "downgrade",
      "company": "BMO Capital",
      "toGrade": "Market Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2017-03-26",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2017-03-19",
      "action": "downgrade",
      "company": "Pivotal Research",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-10-16",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-09-26",
      "action": "downgrade",
      "company": "Wedbush",
      "toGrade": "Underperform",
      "fromGrade": "Neutral"
    },
    {
      "date": "2016-07-29",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-07-28",
      "action": "maintain",
      "company": "SunTrust Robinson Humphrey",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-07-28",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-07-28",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-07-28",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-07-28",
      "action": "maintain",
      "company": "CLSA",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-07-28",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-07-28",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-07-28",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2016-06-28",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-06-07",
      "action": "maintain",
      "company": "Maxim Group",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-04-22",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-04-21",
      "action": "maintain",
      "company": "B. Riley Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-04-21",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-04-21",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-04-21",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2016-04-21",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-04-21",
      "action": "maintain",
      "company": "SunTrust Robinson Humphrey",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-04-21",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-04-21",
      "action": "maintain",
      "company": "Cantor Fitzgerald",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-04-21",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-04-21",
      "action": "maintain",
      "company": "Macquarie",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-04-17",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-04-10",
      "action": "upgrade",
      "company": "Pivotal Research",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2016-04-06",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-03-31",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2016-02-02",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-02-02",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2016-02-02",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-02-02",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-02-01",
      "action": "maintain",
      "company": "Keybanc",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-02-01",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-02-01",
      "action": "maintain",
      "company": "Cantor Fitzgerald",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-02-01",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2016-02-01",
      "action": "maintain",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2016-01-11",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-10-23",
      "action": "maintain",
      "company": "Pivotal Research",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2015-10-23",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-10-23",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2015-10-23",
      "action": "maintain",
      "company": "B. Riley Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-10-23",
      "action": "maintain",
      "company": "Pacific Crest",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2015-10-23",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-10-23",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2015-10-23",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-10-23",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-10-23",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-10-23",
      "action": "maintain",
      "company": "RBC Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-10-23",
      "action": "maintain",
      "company": "Cowen & Co.",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-10-23",
      "action": "maintain",
      "company": "B. Riley FBR",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-10-22",
      "action": "maintain",
      "company": "Macquarie",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-10-08",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-10-02",
      "action": "upgrade",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Perform"
    },
    {
      "date": "2015-09-20",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2015-08-25",
      "action": "upgrade",
      "company": "Goldman Sachs",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2015-08-19",
      "action": "upgrade",
      "company": "Atlantic Equities",
      "toGrade": "Overweight",
      "fromGrade": "Neutral"
    },
    {
      "date": "2015-08-11",
      "action": "upgrade",
      "company": "Mizuho",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2015-08-11",
      "action": "upgrade",
      "company": "Monness, Crespi, Hardt",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2015-08-11",
      "action": "upgrade",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2015-08-11",
      "action": "upgrade",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2015-08-11",
      "action": "upgrade",
      "company": "Stifel Nicolaus",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2015-08-11",
      "action": "upgrade",
      "company": "Monness Crespi Hardt",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2015-08-11",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-08-10",
      "action": "upgrade",
      "company": "Stifel Nicolaus",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2015-08-10",
      "action": "upgrade",
      "company": "Stifel",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2015-07-19",
      "action": "maintain",
      "company": "Argus Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-07-17",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-07-16",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Perform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2015-07-16",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-07-16",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-07-16",
      "action": "maintain",
      "company": "Mizuho",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2015-07-15",
      "action": "upgrade",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2015-07-15",
      "action": "maintain",
      "company": "B. Riley Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-07-15",
      "action": "maintain",
      "company": "B. Riley FBR",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-07-12",
      "action": "downgrade",
      "company": "Pivotal Research",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-04-23",
      "action": "maintain",
      "company": "CRT Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-04-20",
      "action": "maintain",
      "company": "SunTrust Robinson Humphrey",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-03-05",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-03-01",
      "action": "upgrade",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2015-01-30",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2015-01-29",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-01-29",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2015-01-13",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2015-01-12",
      "action": "downgrade",
      "company": "Atlantic Equities",
      "toGrade": "Neutral",
      "fromGrade": "Overweight"
    },
    {
      "date": "2015-01-08",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2015-01-07",
      "action": "downgrade",
      "company": "Stifel",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-12-16",
      "action": "upgrade",
      "company": "Pivotal Research",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2014-12-16",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-12-05",
      "action": "downgrade",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-12-05",
      "action": "downgrade",
      "company": "Bank of America",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-11-20",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-10-17",
      "action": "maintain",
      "company": "Topeka Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-10-17",
      "action": "maintain",
      "company": "SunTrust Robinson Humphrey",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-10-17",
      "action": "maintain",
      "company": "Topeka",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-10-17",
      "action": "maintain",
      "company": "Pacific Crest",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-10-16",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-10-16",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-10-16",
      "action": "maintain",
      "company": "Macquarie",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-10-16",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2014-10-16",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-10-16",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-10-16",
      "action": "maintain",
      "company": "CRT Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-10-16",
      "action": "maintain",
      "company": "FBR Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-10-14",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-10-13",
      "action": "upgrade",
      "company": "Hudson Square",
      "toGrade": "Buy",
      "fromGrade": "Hold"
    },
    {
      "date": "2014-10-10",
      "action": "maintain",
      "company": "Susquehanna",
      "toGrade": "Positive",
      "fromGrade": "Positive"
    },
    {
      "date": "2014-07-18",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-07-18",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-07-18",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-07-18",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-07-18",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-07-17",
      "action": "maintain",
      "company": "CRT Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-07-17",
      "action": "maintain",
      "company": "Cantor Fitzgerald",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-07-14",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-06-27",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-04-17",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-04-17",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-04-17",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-04-17",
      "action": "maintain",
      "company": "CRT Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-04-17",
      "action": "maintain",
      "company": "JMP Securities",
      "toGrade": "Market Outperform",
      "fromGrade": "Market Outperform"
    },
    {
      "date": "2014-04-17",
      "action": "maintain",
      "company": "Cantor Fitzgerald",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-04-17",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-04-17",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-04-17",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-04-17",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-04-15",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-04-10",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-04-02",
      "action": "maintain",
      "company": "CRT Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-03-28",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-01-31",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-01-31",
      "action": "maintain",
      "company": "FBN Securities",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-01-30",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-01-30",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-01-30",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2014-01-21",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-01-21",
      "action": "maintain",
      "company": "Pacific Crest",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-01-16",
      "action": "maintain",
      "company": "Raymond James",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2014-01-14",
      "action": "upgrade",
      "company": "Wells Fargo",
      "toGrade": "Outperform",
      "fromGrade": "Market Perform"
    },
    {
      "date": "2014-01-07",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2014-01-06",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-12-11",
      "action": "maintain",
      "company": "Topeka",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-12-11",
      "action": "maintain",
      "company": "Topeka Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-11-18",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-10-18",
      "action": "maintain",
      "company": "Topeka",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-10-18",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-10-18",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-10-18",
      "action": "maintain",
      "company": "Topeka Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-10-18",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-10-18",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-10-18",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-10-18",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-10-18",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Perform",
      "fromGrade": "Perform"
    },
    {
      "date": "2013-10-18",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-10-18",
      "action": "maintain",
      "company": "Needham",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-09-05",
      "action": "maintain",
      "company": "Pivotal Research",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2013-07-15",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-07-09",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-06-24",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-06-14",
      "action": "maintain",
      "company": "Evercore Partners",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-06-14",
      "action": "maintain",
      "company": "Evercore ISI Group",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-06-03",
      "action": "maintain",
      "company": "Cantor Fitzgerald",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-05-16",
      "action": "maintain",
      "company": "Baird",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-05-16",
      "action": "maintain",
      "company": "Topeka Capital",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-05-16",
      "action": "maintain",
      "company": "Topeka",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-05-15",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-04-19",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-04-19",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-04-19",
      "action": "maintain",
      "company": "BGC Financial",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2013-04-19",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-04-19",
      "action": "maintain",
      "company": "BGC FInancial",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2013-03-27",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-03-27",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-03-11",
      "action": "maintain",
      "company": "Pacific Crest",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-03-05",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-03-01",
      "action": "maintain",
      "company": "PiperJaffray",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-03-01",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-02-27",
      "action": "upgrade",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-02-27",
      "action": "upgrade",
      "company": "Bank of America",
      "toGrade": "Buy",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-02-21",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-02-21",
      "action": "maintain",
      "company": "Bernstein",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-02-21",
      "action": "maintain",
      "company": "CLSA",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-02-07",
      "action": "downgrade",
      "company": "Pivotal Research",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-02-06",
      "action": "downgrade",
      "company": "Hilliard Lyons",
      "toGrade": "Neutral",
      "fromGrade": "Long Term Buy"
    },
    {
      "date": "2013-02-05",
      "action": "downgrade",
      "company": "Oracle Investment Research",
      "toGrade": "Sell",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-02-04",
      "action": "downgrade",
      "company": "BMO Capital",
      "toGrade": "Market Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "BGC Financial",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Perform",
      "fromGrade": "Perform"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "BGC FInancial",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-01-23",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-18",
      "action": "downgrade",
      "company": "Hudson Square",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-18",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-15",
      "action": "maintain",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2013-01-08",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-01-08",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2013-01-07",
      "action": "maintain",
      "company": "Pivotal Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2013-01-02",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Perform",
      "fromGrade": "Perform"
    },
    {
      "date": "2012-11-29",
      "action": "maintain",
      "company": "Oracle Investment Research",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2012-10-19",
      "action": "maintain",
      "company": "Hilliard Lyons",
      "toGrade": "Long Term Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-10-19",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-10-19",
      "action": "downgrade",
      "company": "B of A Securities",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-10-19",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2012-10-19",
      "action": "maintain",
      "company": "Barclays",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2012-10-19",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-10-19",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-10-19",
      "action": "downgrade",
      "company": "Bank of America",
      "toGrade": "Neutral",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-10-19",
      "action": "downgrade",
      "company": "Oppenheimer",
      "toGrade": "Perform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2012-10-19",
      "action": "maintain",
      "company": "Credit Suisse",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2012-10-17",
      "action": "maintain",
      "company": "Wedbush",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2012-10-15",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2012-10-15",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2012-10-15",
      "action": "maintain",
      "company": "PiperJaffray",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2012-10-12",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2012-10-11",
      "action": "maintain",
      "company": "ThinkEquity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-10-11",
      "action": "maintain",
      "company": "Nomura",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-09-26",
      "action": "downgrade",
      "company": "Oracle Investment Research",
      "toGrade": "Hold",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-09-26",
      "action": "maintain",
      "company": "Canaccord Genuity",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-09-25",
      "action": "maintain",
      "company": "Capstone",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-09-24",
      "action": "maintain",
      "company": "Pivotal Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-09-24",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-09-17",
      "action": "maintain",
      "company": "Global Equities Research",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2012-08-13",
      "action": "upgrade",
      "company": "Morgan Stanley",
      "toGrade": "Overweight",
      "fromGrade": "Equal Weight"
    },
    {
      "date": "2012-07-20",
      "action": "maintain",
      "company": "Benchmark",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2012-07-20",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-07-20",
      "action": "maintain",
      "company": "B of A Securities",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-07-20",
      "action": "maintain",
      "company": "Bank of America",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-06-22",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-06-05",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2012-06-05",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-15",
      "action": "maintain",
      "company": "Hilliard Lyons",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-13",
      "action": "maintain",
      "company": "PiperJaffray",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2012-04-12",
      "action": "maintain",
      "company": "JP Morgan",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2012-04-12",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-12",
      "action": "maintain",
      "company": "Oppenheimer",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2012-04-12",
      "action": "maintain",
      "company": "Piper Sandler",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2012-04-12",
      "action": "maintain",
      "company": "BMO Capital",
      "toGrade": "Outperform",
      "fromGrade": "Outperform"
    },
    {
      "date": "2012-04-12",
      "action": "maintain",
      "company": "Jefferies",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-12",
      "action": "maintain",
      "company": "Goldman Sachs",
      "toGrade": "Neutral",
      "fromGrade": "Neutral"
    },
    {
      "date": "2012-04-12",
      "action": "maintain",
      "company": "Benchmark",
      "toGrade": "Hold",
      "fromGrade": "Hold"
    },
    {
      "date": "2012-04-09",
      "action": "maintain",
      "company": "UBS",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-08",
      "action": "maintain",
      "company": "Pivotal Research",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-04",
      "action": "maintain",
      "company": "Deutsche Bank",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    },
    {
      "date": "2012-04-02",
      "action": "maintain",
      "company": "Global Equities Research",
      "toGrade": "Overweight",
      "fromGrade": "Overweight"
    },
    {
      "date": "2012-03-27",
      "action": "maintain",
      "company": "Citigroup",
      "toGrade": "Buy",
      "fromGrade": "Buy"
    }
  ],
  "rating": {
    "rating": "B+",
    "deScore": 3,
    "pbScore": 1,
    "peScore": 2,
    "dcfScore": 3,
    "roaScore": 5,
    "roeScore": 5,
    "overallScore": 3
  },
  "analyst": {
    "buy": 66,
    "hold": 9,
    "sell": 1,
    "consensus": "Buy",
    "strongBuy": 3,
    "targetLow": 345,
    "strongSell": 0,
    "targetHigh": 450,
    "targetMedian": 400,
    "targetConsensus": 399.67
  },
  "profile": {
    "ceo": "Sundar Pichai",
    "beta": 1.237,
    "image": "https://images.financialmodelingprep.com/symbol/GOOG.png",
    "sector": "Communication Services",
    "country": "US",
    "ipoDate": "2004-08-19",
    "website": "https://abc.xyz",
    "industry": "Internet Content & Information",
    "employees": "185719",
    "companyName": "Alphabet Inc.",
    "description": "Alphabet Inc. operates globally, providing a wide array of products and digital platforms to customers across the United States, Europe, the Middle East, Africa, the Asia-Pacific region, Canada, and Latin America. The company's business is organized into three primary segments: Google Services, Google Cloud, and Other Bets. The Google Services division delivers a broad spectrum of consumer-facing offerings, which include its advertising products, the Android operating system, Chrome browser, various hardware devices, Gmail, Google Drive, Google Maps, Google Photos, Google Play, Search functionality, and YouTube. This segment also generates revenue through the sale of applications, in-app purchases, and digital content via Google Play and YouTube, alongside device sales and consumer subscriptions for YouTube services. Conversely, the Google Cloud segment furnishes enterprise-grade solutions such as infrastructure, cybersecurity, database management, analytics, artificial intelligence, and other professional services. This encompasses the Google Workspace suite, a collection of cloud-native communication and collaboration tools for businesses, including Gmail, Docs, Drive, Calendar, and Meet, among other offerings tailored for corporate clients. The Other Bets segment is dedicated to developing nascent ventures, particularly those focused on healthcare-related and internet services. Established in 1998, Alphabet Inc. maintains its corporate headquarters in Mountain View, California."
  },
  "earnings": {
    "date": "2026-07-22",
    "epsEstimated": 2.86,
    "revenueEstimated": 116512500000
  },
  "dividends": [
    {
      "date": "2026-06-08",
      "amount": 0.22,
      "frequency": "Quarterly"
    },
    {
      "date": "2026-03-09",
      "amount": 0.21,
      "frequency": "Quarterly"
    },
    {
      "date": "2025-12-08",
      "amount": 0.21,
      "frequency": "Quarterly"
    },
    {
      "date": "2025-09-08",
      "amount": 0.21,
      "frequency": "Quarterly"
    },
    {
      "date": "2025-06-09",
      "amount": 0.21,
      "frequency": "Quarterly"
    },
    {
      "date": "2025-03-10",
      "amount": 0.2,
      "frequency": "Quarterly"
    }
  ],
  "estimates": {
    "date": "2026-12-31",
    "epsAvg": 14.27364,
    "epsLow": 13.84503,
    "epsHigh": 15.08102,
    "ebitdaAvg": 180554632460,
    "revenueAvg": 486661138229,
    "numAnalysts": 31,
    "netIncomeAvg": 174566617214
  },
  "statements": {
    "income": {
      "eps": 10.91,
      "ebitda": 179962000000,
      "revenue": 402963000000,
      "incomeTax": 26656000000,
      "netIncome": 132170000000,
      "epsDiluted": 10.81,
      "grossProfit": 240428000000,
      "interestExpense": 143000000,
      "operatingIncome": 129166000000,
      "researchAndDevelopment": 61087000000
    },
    "period": "FY",
    "balance": {
      "cash": 30708000000,
      "netDebt": 28583000000,
      "inventory": 0,
      "totalDebt": 59291000000,
      "totalAssets": 595281000000,
      "totalEquity": 415265000000,
      "currentAssets": 206038000000,
      "retainedEarnings": 324055000000,
      "totalLiabilities": 180016000000,
      "currentLiabilities": 102745000000
    },
    "cashflow": {
      "capex": 91447000000,
      "buybacks": 45709000000,
      "freeCashFlow": 73266000000,
      "dividendsPaid": 10049000000,
      "stockBasedComp": 24953000000,
      "netChangeInCash": 7242000000,
      "operatingCashFlow": 164713000000
    },
    "fiscalYear": "2025"
  },
  "technicals": {
    "ema50": 356.40449494231973,
    "rsi14": 48.638501258511084,
    "sma20": 356.488
  },
  "fundamentals": {
    "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
    }
  },
  "peerFundamentals": {
    "AAPL": {
      "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
      }
    },
    "AVGO": {
      "health": {
        "cashRatio": 1.0406107517760577,
        "quickRatio": 2.008535680203584,
        "currentRatio": 2.2379917294030327,
        "debtToEquity": 0.7401785816104275,
        "netDebtToEbitda": 1.0774301011302796,
        "interestCoverage": 10.959747172322023
      },
      "dividend": {
        "yield": 0.00704675,
        "payoutRatio": 0.40116655865197665
      },
      "perShare": {
        "eps": 6.175900568780282,
        "fcfPerShare": 6.901622077101327,
        "cashPerShare": 4.134821992837582,
        "revenuePerShare": 15.897408889825153,
        "dividendPerShare": 2.54,
        "bookValuePerShare": 18.47293027175058
      },
      "valuation": {
        "pb": 19.512334789202992,
        "pe": 58.23101777059774,
        "ps": 22.724040429338103,
        "peg": 0.46247243098967483,
        "pFcf": 52.34325471582931,
        "evSales": 23.324040429338105,
        "evEbitda": 41.883372064247474,
        "fcfYield": 0.01910465838299479,
        "earningsYield": 0.017133862030185274,
        "priceToFairValue": 19.512334789202992
      },
      "efficiency": {
        "grahamNumber": 50.66514643103003,
        "assetTurnover": 0.42122037531117784,
        "effectiveTaxRate": 0.038124610387479906,
        "inventoryTurnover": 5.76039741219963,
        "cashConversionCycle": 110.15375554930867,
        "receivablesTurnover": 4.505911153570576,
        "daysSalesOutstanding": 81.00470416749486,
        "daysInventoryOutstanding": 63.363683767197465
      },
      "profitability": {
        "roa": 0.1636376829390817,
        "roe": 0.36403710280257784,
        "roce": 0.2055260268503269,
        "roic": 0.19495155099284195,
        "netMargin": 0.38848472801961176,
        "grossMargin": 0.6696349301000464,
        "operatingMargin": 0.4365599946995296
      }
    },
    "CSCO": {
      "health": {
        "cashRatio": 0.1791305227485395,
        "quickRatio": 0.8055183227535976,
        "currentRatio": 0.924584608381174,
        "debtToEquity": 0.6406541004072778,
        "netDebtToEbitda": 1.34049147664379,
        "interestCoverage": 9.686689419795222
      },
      "dividend": {
        "yield": 0.01464194,
        "payoutRatio": 0.5379662150861348
      },
      "perShare": {
        "eps": 3.024279210925645,
        "fcfPerShare": 3.1906929691451693,
        "cashPerShare": 4.208396560445119,
        "revenuePerShare": 15.363176530096105,
        "dividendPerShare": 1.65,
        "bookValuePerShare": 12.357359635811836
      },
      "valuation": {
        "pb": 9.11926198808866,
        "pe": 37.314569536423846,
        "ps": 7.31176163696375,
        "peg": 1.6391757332071895,
        "pFcf": 35.206109099476855,
        "evSales": 7.710471017005235,
        "evEbitda": 25.923194177496125,
        "fcfYield": 0.028404161254356266,
        "earningsYield": 0.026837156898798873,
        "priceToFairValue": 9.11926198808866
      },
      "efficiency": {
        "grahamNumber": 28.997799599135835,
        "assetTurnover": 0.48385452344160707,
        "effectiveTaxRate": 0.15040852575488456,
        "inventoryTurnover": 4.6025913338997455,
        "cashConversionCycle": 68.2113596562798,
        "receivablesTurnover": 9.374382716049382,
        "daysSalesOutstanding": 38.93589701379515,
        "daysInventoryOutstanding": 79.30315196824958
      },
      "profitability": {
        "roa": 0.09524795692415529,
        "roe": 0.2513504992117709,
        "roce": 0.1650020347654206,
        "roic": 0.12300721941552244,
        "netMargin": 0.19685246765219108,
        "grossMargin": 0.6432851545780792,
        "operatingMargin": 0.23361208968491753
      }
    },
    "EXLS": {
      "health": {
        "cashRatio": 0.4854697944002618,
        "quickRatio": 2.6621827360323724,
        "currentRatio": 2.6621827360323724,
        "debtToEquity": 0.665865866122927,
        "netDebtToEbitda": 0.8505991306508266,
        "interestCoverage": 10.945500167280027
      },
      "dividend": {
        "yield": 0,
        "payoutRatio": 0
      },
      "perShare": {
        "eps": 1.6119216595269181,
        "fcfPerShare": 1.9006960672460453,
        "cashPerShare": 1.6261735797889367,
        "revenuePerShare": 13.822638838262922,
        "dividendPerShare": 0,
        "bookValuePerShare": 4.990761019667733
      },
      "valuation": {
        "pb": 5.414003975249228,
        "pe": 17.10126582278481,
        "ps": 1.913850536691746,
        "peg": 0.9097873417721527,
        "pFcf": 13.918303517845462,
        "evSales": 2.0868556813108508,
        "evEbitda": 10.260259209197686,
        "fcfYield": 0.07184783682277385,
        "earningsYield": 0.0596566121216476,
        "priceToFairValue": 5.414003975249228
      },
      "efficiency": {
        "grahamNumber": 13.453850941842413,
        "assetTurnover": 1.2867084352643405,
        "effectiveTaxRate": 0.22856109218784013,
        "inventoryTurnover": 0,
        "cashConversionCycle": 70.30866248795323,
        "receivablesTurnover": 4.972385764802973,
        "daysSalesOutstanding": 73.40540683380846,
        "daysInventoryOutstanding": 0
      },
      "profitability": {
        "roa": 0.15004900443157543,
        "roe": 0.2715782131952512,
        "roce": 0.23761298311744433,
        "roic": 0.18044545307042806,
        "netMargin": 0.11661461160837845,
        "grossMargin": 0.3847189467276708,
        "operatingMargin": 0.15167331089178498
      }
    }
  }
}