Jalah
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
      • Invitee
    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Versions and GitHub Sync Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
Invitee
Publish Note

Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

Your note will be visible on your profile and discoverable by anyone.
Your note is now live.
This note is visible on your profile and discoverable online.
Everyone on the web can find and read all notes of this public team.
See published notes
Unpublish note
Please check the box to agree to the Community Guidelines.
View profile
Engagement control
Commenting
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
  • Everyone
Suggest edit
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
Emoji Reply
Enable
Import from Dropbox Google Drive Gist Clipboard
   owned this note    owned this note      
Published Linked with GitHub
Subscribed
  • Any changes
    Be notified of any changes
  • Mention me
    Be notified of mention me
  • Unsubscribe
Subscribe
--- tags: general --- # Leveraged strategies and volatility decay There is a huge demand for leveraged products, as demonstrated by the outstanding success of perpetual futures proposed by CEX (Binance, FTX, ...) and on-chain protocols like dYdX or GMX. A perpetual futures is an agreement to buy or sell an asset, with no set settlement date. Instead, traders agree to exchange the difference between the asset’s spot price and it’s index price. The possibility to instantly obtain 20x or 50x leverage with minimal collateral makes those products highly speculative. Leveraged position are quite complex to manage. They must be checked on a daily basis and cannot generally be held for prolonged period of times. Leveraged return can also be obtained by borrowing assets in lending protocols. A limited offer exists that assists retail investors with the financial engineering and daily management of borrowing-based leveraged strategies. The [Ethereum Flexible Leverage Index](https://medium.com/indexcoop/introducing-the-flexible-leverage-index-fli-by-pulse-inc-a369bd422ef) (ETH2x-FLI), which market cap is $12m, leverages a collateralized debt position on ETH by targeting a long 2x exposure to ETH. By abstracting the management of the strategy into an index fund, participants can take on leverage while minimizing the transaction costs, and risks associated with maintaining collateralized debt (UI below). ![](https://i.imgur.com/yrLNJCd.png =350x300) A persitent difficulty with leveraged return is the presence of [volatility decay](https://indexcoop.com/blog/fli-volatility-drift) (VD) which negatively impact return to holders. VD is a small discount on daily return which compounds with price volatility. The phenomenon is well documented in traditional finance since the launch of the first [Leveraged ETFs](https://www.investopedia.com/articles/exchangetradedfunds/07/leveraged-etf.asp) in 2006. It is inherent to the objective of targetting a fixed leverage ratio, as outlined by [Investopedia](https://www.investopedia.com/articles/exchangetradedfunds/07/leveraged-etf.asp): >Maintaining a constant leverage ratio (...) is how the fund is able to provide double the exposure to the index at any point in time, even if the index has gained 50% or lost 50% recently. Without rebalancing, the fund's leverage ratio would change every day. > VD can be illustrated by the relative performance of the $3 \times$ leveraged ETF in 2020 compared to its underlying, the S&P 500. The derivative outperformed its underlying over the year despite a positive net increase: | | S&P 500 | UPRO (3x) | | ---------------- | ------: | --------: | | 12 January 2020 | 3329 | 36.19 | | 15 March 2020 | 2300 | 10.15 | | 21 December 2020 | 3709 | 38.43 | | 2020 performance | 11.4% | 6.2 % | ## Origin of VD A first cause of VD is related to how upward and downward returns are calculated. It is well known that a price rising by 25% then declining by the same rate does not return to its initial value. The negative rate is actually -20% when the price takes its initial value back. ![](https://i.imgur.com/KYAesIm.png =400x120)) However, when a fund targets a $3 \times$leverage, the upward and downward return rates do not compensate anymore. In the example, investors are at a loss of 30%. ![](https://i.imgur.com/Y8VDn5b.png =400x120) The same is true for short leveraged positions. 25% then -20% price variations lead to a net loss of 60%. ![](https://i.imgur.com/AT5SZtG.png =400x120) It could be argued that the loss is minimal for smaller price variations. For example, a sequence of 2.05% then -2% price variation rates lead to a loss of 0.22% for a $3 \times$ long and 0.52% for $3 \times$ short. Yet small losses build up through time and significantly impact long-term returns. Moreover, volatility decay is worsened by a second cause which stems from the way a leveraged fund rebalances its debt to guarantee a fixed leverage ratio. The next sections explain where does volatility decay come from and uncover what trade-offs face a leveraged investor. ## Leveraged long strategies ### Leverage ratio The performance of a leveraged fund is indexed on a multiple of an underlying asset, say ETH. Date 0 initial TVL $x_0$ is deposited in a lending protocol and serves as a collateral to borrow $\delta y_0$ USDC. Starting from price $p_0$, next period price $p_1=(1+\lambda_1)p_0$ with $\lambda_1$ the price variation rate, positive or negative. Pool's TVL varies by (neglecting lending revenue and borrowing costs): $$ r_1 = \dfrac{(1+\lambda_1)p_0(x_0+ \delta y_0/p_0)- \delta y_0}{p_0 x_0 +p_0(\delta y_0/p_0) - \delta y_0} -1 = \lambda_1 \Big( 1+\dfrac{ \delta y_0}{p_0 x_0} \Big) $$ The return is amplified by the leverage ratio $\delta y_0/p_0x$. A fixed ratio $r^*$ can be targetted by the fund manager (a person or a smart contract) by borrowing an appropriate amount $\delta y_0$. For example, a $3 \times$ long strategy implies a leverage ratio $\delta y_0/p_0x$ equal to $2$, which means that the manager borrows twice the collateral's value. <!-- (with a minimum ETH collateral ratio of 121%, as in Aave, the theoretical maximum borrowing capacity is 4.7 times the collateral value). --> Next period, the price increases by $\lambda_2$: $p_2=(1+\lambda_2)p_1$. The manager borrows or repays the amount $\delta y_1$. The leveraged return is: \begin{aligned} r_2 = \dfrac{(1+\lambda_2)p_1(x_0 + \delta y_0/p_0+ \delta y_1/p_1)-\delta y_0 - \delta y_1}{p_1 (x_0 +\delta y_0/p_0+ \delta y_1/p_1) - \delta y_0 - \delta y_1} -1 \\ = \lambda_2 \Big( 1+\dfrac{\delta y_0+\delta y_1}{p_0 x_0 + (p_1-p_0)(x_0 +\delta y_0/p_0)} \Big) \end{aligned} As in previous period, a fixed leverage $r^*$ can be targetted by borrowing or repaying the appropriate amount $y_1$. If the fund does not rebalance ($\delta y_1=0$), it is straightforward to show that the leverage ratio decreases if the price increases ($p_1>p_0$) and decreases in the contrary case. Therefore, to maintain a fixed leverage ratio, the fund manager needs to borrow more USDC and buy more ETH after a price increase or sell ETH and deleverage in case of price decrease. Note that aside from the need of borrowing more or less to maintain a fixed leverage ratio, the manager must also control the liquidation risk by repaying part of the loan when the price decreases. This may necessitate to sell more ETH than strictly needed by the leverage ratio. ### Volatility decay In order to reset the appropriate amount of leverage, the manager is led to follow a pro-cyclical investment strategy. This is is profitable when the price is heading to a single direction. When it fluctuates back and forth, it is affected by volatility decay.<!-- which are small but recurring losses which add up through time. --> The negative impact to long-term profitability explains why investors are warned against holding their position over long periods of time. This is how volatility decay is explained in the ETH2x-FLI [documentation](https://help.tokensets.com/en/articles/5049454-eth2x-fli-faqs): > The index is rebalancing as the price is decreasing and thus selling as the price goes down. That means that if the price drops and comes back up, the Net Asset Value at the end will be less than the Net Asset Value at the beginning FTX also proposes ERC20 [leveraged tokens]() invested in FTX [perpetual futures](https://ftx.com/markets/futures). From their [documentation](https://help.ftx.com/hc/en-us/articles/360032509552-Leveraged-Token-Walkthrough): > [BULL](https://ftx.com/trade/ETHBULL/USD)/BEAR/[HEDGE](https://ftx.com/trade/ETHHEDGE/USD) tokens will automatically reinvest profits into the underlying asset; so if your leveraged token position makes money, the tokens will automatically put on 3x leveraged positions with that. Conversely, (...) if you (...) buy ETHBULL, the leveraged token will automatically sell off some of its ETH as markets go down. This exposes holders to volatility decay, even though the term is not explictly mentionned. ## Inverse strategies An inverse or short strategy consists in borrowing the base asset, here ETH, and selling it for USDC. As we will see, this strategy is also affected by volatility decay. ### Leverage ratio Initial TVL $y_0$ is 100% USDC and deposited in a lending protocol to borrow $\delta x_0$ ETH and sell the amount for $p_0 \delta x_0$ USDC. One period later, pool's TVL varies by: $$ r_1 = \dfrac{ y_0 + p_0 \delta x_0 - (1+\lambda_1)p_0 \delta x_0 }{y_0 } -1 = - \lambda_1 \dfrac{p_0 \delta x_0}{y_0} $$ The leverage ratio is $-p_0 \delta_0/y_0$. An investor achieves $-1 \times$ETH by borrowing the collateral value and $-2 \times$ETH by borrowing twice the collateral value. Once the price variation rate is observed, the manager borrows or repays the amount $\delta x_1$. In a last period, the price increases by $\lambda_2$: $p_2=(1+\lambda_2)p_1$. The leveraged return is: \begin{aligned} r_2 &= \dfrac{ y_0 + p_0 \delta x_0 + p_1 \delta x_1 - (1+ \lambda_2)p_1 (\delta x_0+\delta x_1)}{y_0 + (p_0 - p_1) \delta x_0 } -1 \\ &= - \lambda_2 \dfrac{p_1 \delta x_0 + p_1 \delta x_1}{y_0 + (p_0 - p_1) \delta x_0} \end{aligned} A fixed leverage $r^*$ can be targetted by borrowing or repaying the appropriate amount $\delta x_1$. The fund's wealth increases if the price decreases. To maintain a constant leverage ratio, the manager borrows additional ETH ($\delta x_1 > 0$) and sells them at price $p_1$. Converseley, if the price increases, the manager deleverages by buying ETH to repay part of the debt. Here again, the fund buys when the price is up and sells when it is down. If the price moves back and forth, the return is affected by volatility decay. ## Path independent strategies For a protocol offering leveraged service, warning users against a volatility risk and advising them to limit their investment to short periods of time is self-defeating. This is why finding strategies minimizing volatility decay should be on top of protocols' agenda. The next section shows a possible avenue to mitigate or even eliminate volatility decay and uncovers the trade-offs. A leveraged strategy is path independent if starting from price $p_0$, the value of the fund at date $T$ is $x_T=X_0$ if $p_T=p_0$, whatever the historical path followed by the price between the two dates. In the contrary case ($x_T<x_0$), the fund's profitability is affected by volatility decay. Designing path independent leveraged strategies is feasible if one accepts to switch to a different invariant. ### Path independent long strategies At date $0$, the manager borrows the amount $\bar{y}$ and buys $\bar{x}=\bar{y}/p_0$ base assets. Without rebalancing next periods, leveraged wealth at date $t$ and for price $p_t$ is: $$ W_t = p_t(x_0+\bar{x})- \bar{y} $$ The strategy is path independent. If the price eventually returns to its initial value $p_0$, pool's value is $p_0(x_0+\bar{x})-\bar{y} = p_0x_0$. Pool's TVL varies between date 0 and date $t$ by (again, neglecting lending revenue and borrowing costs): $$ r_t = \dfrac{(1+\lambda_t)p_0(x_0+\bar{x})-\bar{y}}{p_0x_0} -1 = \lambda_t \big( 1+\dfrac{\bar{y}}{p_0x_0} \big) $$ The leverage return between $t$ and $t+1$ dates is: \begin{aligned} r_{t+1} = \dfrac{p_{t+1}(x_0+\bar{x})- \bar{y} }{p_t (x_0 +\bar{x}) - \bar{y}} -1 \\ = \lambda_{t+1} \Big(1+\dfrac{\bar{y}}{p_t ( x_0+\bar{x}) - \bar{y} } \Big) \end{aligned} The leverage ratio is: $$ k_t = 1 + \dfrac{\bar{y}}{p_t ( x_0+\bar{x}) - \bar{y} } $$ As expected, the leverage ratio is decreasing with price $p_t$. In exchange of a variable leverage ratio, investors gain a return immune to price volatility. Path independence also means that the fund may become insolvent and be closed if the price decreases too low. Fund's health factor in the lending protocol is: $$ H_t = \dfrac{\phi p_t (\bar{x}+x_0)}{\bar{y}} $$ with $\phi$ the liquidation threshold. The price at which $H_t=1$ and the position is liquidated is: $$ \hat{p} = \dfrac{\bar{y}}{\phi (x_0 + \bar{x})} $$ ### Simulations Let's do some back-of-the-enveloppe simulations. Initial ETH price is $1300. Pool's assets are $x_0=100$ and initial leverage ratio is set to $2$, which implies $\bar{x}= 100$ and $\bar{y}= p_0 x_0 =$ 130,000 USDC. The price at which the fund becomes insolvent is $$ \hat{p} = \dfrac{130000}{0.86 \times 200} = 755 $$ The blue line is the fund's wealth plotted against the asset price. The red line is unleveraged wealth: ![](https://i.imgur.com/d8CyR3J.png =560x400) The performance is constant whatever the path followed by the price. Investors know in advance how much wealth they will own for every price level and whatever investment horizon. This makes those strategies fit to long-term holding. The leverage ratio is: $$ k_t = \dfrac{1300}{2 p_t - 1300 } + 1 $$ The simulated leverage ratio can be plotted: ![](https://i.imgur.com/wGQn11p.png =560x400) The orange line is leverage ratio guaranteed for short-term holders by funds which target a ratio of 2 while being exposed to VD. The leverage ratio is as high as 7.5 for near-liquidation price and decreases to its initial value of $2$ at price 1300. It then asymptotically decreases towards $1$ as price increases. The strategy is less and less effective in amplifying price movements as price increases. ### Path independent inverse strategies As in leveraged long strategies, VD can be removed by refraining from rebalancing the debt. At date $0$, the manager borrows once and for all $\bar{x}$ which it sells against $\bar{y}= p_0 \bar{x}$. Fund's initial TVL is $y_0 + \bar{y} -p_0 \bar{x} = y_0$. In absence of rebalancing, next period TVL is: $$ y_0 + \bar{y} -p_1 \bar{x} = y_0 + (p_0-p_1)\bar{x} $$ Fund's value goes back to $y_0$ if the price returns to $p_0$. Leverage ratio $$ k_t = -\dfrac{p_t \bar{x} }{y_0 + (p_0 - p_t) \bar{x}} $$ negatively varies with price. Health factor is: $$ H_t = \dfrac{\phi (y_0+ \bar{y})}{p_t \bar{x}} $$ ### Simulations Initial ETH price is $1300$ USDC. Fund's assets are $y_0=130000$ USDC. Initial leverage ratio is set to $-1$ implying a debt of $$ \bar{x} = \dfrac{-k_t y_0}{kp_0+(1-k)p_t } = \dfrac{-k y_0}{p_t} = \dfrac{130000}{1300}=100 $$ and $\bar{y}= p_0 \bar{x} =$ $130000$ USDC. The price at which the fund is liquidated is $$ p_t = \dfrac{\phi \bar{y}}{ \bar{x}} $$ $$ \hat{p} = \dfrac{0.89 \times (130000+130000)}{100} = 2314 $$ ![](https://i.imgur.com/KHRbOYA.png =560x400) The leverage ratio at price $p_t$ is: $$ k_t = - \dfrac{p_t 100 }{130000 + (1300 - p_t) 100} $$ $$ k_t = -\dfrac{p_t \bar{x} }{y_0 + (p_0 - p_t) \bar{x}} $$ The simulated leverage ratio can be plotted: ![](https://i.imgur.com/3Y9DvWt.png =560x400) Starting from the right, the leverage ratio is as high as 7.5 for near-liquidation price and decreases to its initial value of $2$ at price 1300. It then asymptotically decreases towards $0$ as price increases. The strategy is less and less effective in amplifying price movements as price increases. ## Comparison with market making There are many similarities between leverage management and market making. | | Market making | Leverage Long | | -------- | -------- | -------- | | Need to define a price range | Yes | Yes (most importantly a lower bound in leveraged longs) | | The tighter the price range ... | the more profitable | the higher leverage | | The price falls below the lower bound | The strategy is paused | The position is liquidated | | The price rises above the upper bound | The strategy is paused | Leverage is close to $1$ | | Cost of repositioning the price range | Inventory risk | Volatility decay | | Benefits of repositioning the price range | More capital concentration | Resets the leverage ratio | <!-- ## Finding a middle ground ? The fund or pool's total assets $x_t$ are divided in two buckets: - a collateral bucket of size $\bar{x} \geq 0$ - a profit and loss bucket of size $z_t$, which can be positive or negative. with $\bar{x} + z_t = x_t$. Pool's value A one-to-one relationship exists between the price $p_t$ and the ratio of the two buckets: $$ \dfrac{z_t}{\bar{x}} = \omega(p) $$ with $\omega$ an twice differentiable increasing function over ($-1$,$\infty$). A bottom price $p_{min}$ exists such that $\omega(_{min})=-1$, at which the pool is emptied. The strategy is path-independent. When the price starts from $p_0$ and returns to $p_0$, the pool's TVL returns to its initial value $\bar{x}+\omega(p_0)$. \begin{aligned} r_1 &= \dfrac{p_1 \big( \bar{x}+\omega(p_1) \big)}{p_0 \big( \bar{x}+\omega(p_0) \big)} -1 \\ &= \lambda_1 \Big( 1 + \dfrac{\omega(p_1) - \omega(p_0) }{p_0 x_0} \Big) + \dfrac{\omega(p_1) - \omega(p_0) }{p_0 x_0} \end{aligned} $$ r_1 = \lambda_1 \Big( 1+\dfrac{y_0}{p_0x} \Big) $$ --- --- The absence of leverage means $\omega(p)=0$ whatever $p$. With $\omega'(p)>0$, marginal leverage ratio is pool's value elaticity w.r.t. $p$: $$ \dfrac{\partial}{\partial p}(\bar{x}+\omega(p)\bar{x}) \dfrac{p}{x} = \dfrac{\bar{x}}{\bar{x}+\omega(p)} \big( 1+\omega(p) +p \omega'(p) \big) $$ The strategy is $k$x-leveraged for $\omega$ satisfying: $$ \dfrac{\bar{x} \big( 1+\omega(p) +p \omega'(p) \big)}{\bar{x}+\omega(p)} = k $$ With $\omega'(p)>0$, marginal leverage ratio is: $$ \dfrac{\partial}{\partial p}(\bar{x}+\omega(p)\bar{x}) \dfrac{p}{x} = \dfrac{\bar{x}}{\bar{x}+\omega(p)} \big( 1+\omega(p) +p \omega'(p) \big) $$ The strategy is $k$x-leveraged for $\omega$ satisfying: $$ \dfrac{\bar{x} \big( 1+\omega(p) +p \omega'(p) \big)}{\bar{x}+\omega(p)} = k $$ --- The collateral ratio implied by a leverage ratio of of $\gamma=$ 120%, the minimum price at which the position is closed even if the funds borrows maximum borrowed amount is $$ \dfrac{\bar{y} }{\gamma-1} = p^* \bar{x} $$ $5 \times 100p= . Therefore, the (theoretical) minimum price at which the pool is closed is $$ p^* = \gamma \dfrac{\bar{y}}{\bar{x}} = 1.2 $$ With a minimum collateral ratio of $\gamma$, the (theoretical) capacity of borrowing is $1/(\gamma-1)$. the pool is liquidated (or the manager proactively closes the fund) at price: $$ p^* \bar{x} = \dfrac{\bar{y} }{\gamma-1} $$ The price $\hat{p}$ at which fund's equity is zero is $$ \hat{p} \bar{x} = \bar{y} $$ The problem is particularly acute during period of declining price due to the necessity to maintain solvability: >In declining markets, however, rebalancing a leveraged fund with long exposure can be problematic. Reducing the index exposure allows the fund to survive a downturn and limits future losses, but also locks in trading losses and leaves the fund with a smaller asset base.

Import from clipboard

Paste your markdown or webpage here...

Advanced permission required

Your current role can only read. Ask the system administrator to acquire write and comment permission.

This team is disabled

Sorry, this team is disabled. You can't edit this note.

This note is locked

Sorry, only owner can edit this note.

Reach the limit

Sorry, you've reached the max length this note can be.
Please reduce the content or divide it to more notes, thank you!

Import from Gist

Import from Snippet

or

Export to Snippet

Are you sure?

Do you really want to delete this note?
All users will lose their connection.

Create a note from template

Create a note from template

Oops...
This template has been removed or transferred.
Upgrade
All
  • All
  • Team
No template.

Create a template

Upgrade

Delete template

Do you really want to delete this template?
Turn this template into a regular note and keep its content, versions, and comments.

This page need refresh

You have an incompatible client version.
Refresh to update.
New version available!
See releases notes here
Refresh to enjoy new features.
Your user state has changed.
Refresh to load new user state.

Sign in

Forgot password

or

By clicking below, you agree to our terms of service.

Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
Wallet ( )
Connect another wallet

New to HackMD? Sign up

Help

  • English
  • 中文
  • Français
  • Deutsch
  • 日本語
  • Español
  • Català
  • Ελληνικά
  • Português
  • italiano
  • Türkçe
  • Русский
  • Nederlands
  • hrvatski jezik
  • język polski
  • Українська
  • हिन्दी
  • svenska
  • Esperanto
  • dansk

Documents

Help & Tutorial

How to use Book mode

Slide Example

API Docs

Edit in VSCode

Install browser extension

Contacts

Feedback

Discord

Send us email

Resources

Releases

Pricing

Blog

Policy

Terms

Privacy

Cheatsheet

Syntax Example Reference
# Header Header 基本排版
- Unordered List
  • Unordered List
1. Ordered List
  1. Ordered List
- [ ] Todo List
  • Todo List
> Blockquote
Blockquote
**Bold font** Bold font
*Italics font* Italics font
~~Strikethrough~~ Strikethrough
19^th^ 19th
H~2~O H2O
++Inserted text++ Inserted text
==Marked text== Marked text
[link text](https:// "title") Link
![image alt](https:// "title") Image
`Code` Code 在筆記中貼入程式碼
```javascript
var i = 0;
```
var i = 0;
:smile: :smile: Emoji list
{%youtube youtube_id %} Externals
$L^aT_eX$ LaTeX
:::info
This is a alert area.
:::

This is a alert area.

Versions and GitHub Sync
Get Full History Access

  • Edit version name
  • Delete

revision author avatar     named on  

More Less

Note content is identical to the latest version.
Compare
    Choose a version
    No search result
    Version not found
Sign in to link this note to GitHub
Learn more
This note is not linked with GitHub
 

Feedback

Submission failed, please try again

Thanks for your support.

On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

Please give us some advice and help us improve HackMD.

 

Thanks for your feedback

Remove version name

Do you want to remove this version name and description?

Transfer ownership

Transfer to
    Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

      Link with GitHub

      Please authorize HackMD on GitHub
      • Please sign in to GitHub and install the HackMD app on your GitHub repo.
      • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
      Learn more  Sign in to GitHub

      Push the note to GitHub Push to GitHub Pull a file from GitHub

        Authorize again
       

      Choose which file to push to

      Select repo
      Refresh Authorize more repos
      Select branch
      Select file
      Select branch
      Choose version(s) to push
      • Save a new version and push
      • Choose from existing versions
      Include title and tags
      Available push count

      Pull from GitHub

       
      File from GitHub
      File from HackMD

      GitHub Link Settings

      File linked

      Linked by
      File path
      Last synced branch
      Available push count

      Danger Zone

      Unlink
      You will no longer receive notification when GitHub file changes after unlink.

      Syncing

      Push failed

      Push successfully