PyConChina2022-深圳-python分析alpha vaults策略-代少飞
Python分析alpha vaults策略 主讲人: 代少飞 – 量化开发 个人简介 主要从事量化开发相关工作 有开发过数字货币交易所 PyconChina2019深圳场有分享(b站有相关视频) 目前从事web3相关工作 免责声明 纯技术交流,不提供任何投资建议 如有侵权,请联系本人,第一时间处理 一、策略介绍 二、部署开发 三、使用说明 四、策略回测 大纲 策略介绍 资金量有一定规模,进出中心化交易所,比较费力 资金量有一定规模,进出中心化交易所,比较费力 第一个上线的 Uniswap v3 LP 策略 Uniswap v3 在 2021 年 5 月 5 日发布后两天,Charm 部署了其第三款 产品:Uniswap v3 LP 操作策略——Alpha Vault,并且已经被证明是非常 成功的产品:利润比 v2 的 LP 高两倍以上! 部署开发 Brownie Brownie is a Python-based Ethereum, inspired by web3.js code https://github.com/charmfinance/alpha-vaults-contracts.git 使用说明 策略回测 结果值 值越大,命中率越高 Alpha Valuts 3.865960084033544 0xae540be685696ea465b12bbdf9e5f44603bb9ab2 7.5367485358894050 码力 | 18 页 | 2.12 MB | 1 年前3Idris 语言文档 Version 1.3.1
记法比这里的展示更加通用,并且可以被重载。 1. 3. 7 惰 惰 惰性 性 性 通常,函数的参数会在函数被调用前求值(也就是说,奉 奤 奲 奩 女 采用了 及 及 及早 早 早( ( (E age r ) ) ) 求值策略)。然 而,这并不总是最佳的方式。考虑以下函数: ifThenElse : Bool -> a -> a -> a ifThenElse True t e = t ifThenElse False (S (plus j (S j))) sym 是一个在库中定义的函数,它可以反转重写的顺序: sym : l = r -> r = l sym Refl = Refl 我们可以用 trivial 策略来完成此证明,它会在前提中找到 value。 第二个引理的证明方式完全相 同。 现在我们可以在提示符中测试 w i t h 规则:匹配中间值 夨 姩 妡妵 夳夹天 一节中的 natToBin 了。数字 parity_lemma_1 的「证明」为: views.parity_lemma_2 = proof { intro; intro; exact believe_me value; } exact 策略允许我们为该证明提供一个确切的值。在本例中,我们断言给出的值是正确的。 1. 10. 3 示 示 示例 例 例: : :二 二 二进 进 进制 制 制数 数 数 我们在前面通过 Parity 视角实现了0 码力 | 224 页 | 2.06 MB | 1 年前3The Way To Go - 2012
............................................................................551 20.7 Using the datastore ..............................................................................................552 Caching data in applications: Applications working with data coming from a database (or in general a datastore) will often cache that data in memory, because retrieving a value from a database is a costly operation; will output: 1 2 3 4 For a more useful example, see § 20.7 where data from the App Engine datastore is shown through a template with: {{range .}} {{with .Author}}{{html
0 码力 | 629 页 | 4.85 MB | 1 年前3The Idris Tutorial Version 1.0.1
d at a s t or e i n t er f a ce an d d e fi n e a c on c r e t e t y p e l at e r : interface DataStore (m : Type -> Type) where Store : Access -> Type W e c an c on t i n u e t o p op u l at e t h , an d disconnect w h e n w e ’ r e d on e . Ad d t h e f ol l ow i n g m e t h od s t o t h e DataStore i n t e r f ac e : connect : ST m Var [add (Store LoggedOut)] disconnect : (store : Var) -> ST s b y t r y i n g t h e f ol l ow i n g ( i n c om p l e t e ) d e fi n i t i on : doConnect : DataStore m => ST m () [] doConnect = do st <- connect ?whatNow Not e t h at w e ’ r e w or k i n g i n0 码力 | 223 页 | 1.21 MB | 1 年前3The Idris Tutorial Version 1.1.0
d at a s t or e i n t er f a ce an d d e fi n e a c on c r e t e t y p e l at e r : interface DataStore (m : Type -> Type) where Store : Access -> Type W e c an c on t i n u e t o p op u l at e t h , an d disconnect w h e n w e ’ r e d on e . Ad d t h e f ol l ow i n g m e t h od s t o t h e DataStore i n t e r f ac e : connect : ST m Var [add (Store LoggedOut)] disconnect : (store : Var) -> ST s b y t r y i n g t h e f ol l ow i n g ( i n c om p l e t e ) d e fi n i t i on : doConnect : DataStore m => ST m () [] doConnect = do st <- connect ?whatNow Not e t h at w e ’ r e w or k i n g i n0 码力 | 223 页 | 1.21 MB | 1 年前3The Idris Tutorial Version 1.1.1
d at a s t or e i n t er f a ce an d d e fi n e a c on c r e t e t y p e l at e r : interface DataStore (m : Type -> Type) where Store : Access -> Type W e c an c on t i n u e t o p op u l at e t h , an d disconnect w h e n w e ’ r e d on e . Ad d t h e f ol l ow i n g m e t h od s t o t h e DataStore i n t e r f ac e : connect : ST m Var [add (Store LoggedOut)] disconnect : (store : Var) -> ST s b y t r y i n g t h e f ol l ow i n g ( i n c om p l e t e ) d e fi n i t i on : doConnect : DataStore m => ST m () [] doConnect = do st <- connect ?whatNow Not e t h at w e ’ r e w or k i n g i n0 码力 | 223 页 | 1.21 MB | 1 年前3The Idris Tutorial Version 1.3.1
d at a s t or e i n t er f a ce an d d e fi n e a c on c r e t e t y p e l at e r : interface DataStore (m : Type -> Type) where Store : Access -> Type W e c an c on t i n u e t o p op u l at e t h , an d disconnect w h e n w e ’ r e d on e . Ad d t h e f ol l ow i n g m e t h od s t o t h e DataStore i n t e r f ac e : connect : ST m Var [add (Store LoggedOut)] disconnect : (store : Var) -> ST s b y t r y i n g t h e f ol l ow i n g ( i n c om p l e t e ) d e fi n i t i on : doConnect : DataStore m => ST m () [] doConnect = do st <- connect ?whatNow Not e t h at w e ’ r e w or k i n g i n0 码力 | 230 页 | 1.24 MB | 1 年前3The Idris Tutorial Version 1.3.0
d at a s t or e i n t er f a ce an d d e fi n e a c on c r e t e t y p e l at e r : interface DataStore (m : Type -> Type) where Store : Access -> Type W e c an c on t i n u e t o p op u l at e t h , an d disconnect w h e n w e ’ r e d on e . Ad d t h e f ol l ow i n g m e t h od s t o t h e DataStore i n t e r f ac e : connect : ST m Var [add (Store LoggedOut)] disconnect : (store : Var) -> ST s b y t r y i n g t h e f ol l ow i n g ( i n c om p l e t e ) d e fi n i t i on : doConnect : DataStore m => ST m () [] doConnect = do st <- connect ?whatNow Not e t h at w e ’ r e w or k i n g i n0 码力 | 229 页 | 1.24 MB | 1 年前3The Idris Tutorial Version 2.3.0
d at a s t or e i n t er f a ce an d d e fi n e a c on c r e t e t y p e l at e r : interface DataStore (m : Type -> Type) where Store : Access -> Type W e c an c on t i n u e t o p op u l at e t h , an d disconnect w h e n w e ’ r e d on e . Ad d t h e f ol l ow i n g m e t h od s t o t h e DataStore i n t e r f ac e : connect : ST m Var [add (Store LoggedOut)] disconnect : (store : Var) -> ST s b y t r y i n g t h e f ol l ow i n g ( i n c om p l e t e ) d e fi n i t i on : doConnect : DataStore m => ST m () [] doConnect = do st <- connect ?whatNow Not e t h at w e ’ r e w or k i n g i n0 码力 | 228 页 | 1.23 MB | 1 年前3The Idris Tutorial Version 0.99.2
d at a s t or e i n t er f a ce an d d e fi n e a c on c r e t e t y p e l at e r : interface DataStore (m : Type -> Type) where Store : Access -> Type W e c an c on t i n u e t o p op u l at e t h , an d disconnect w h e n w e ’ r e d on e . Ad d t h e f ol l ow i n g m e t h od s t o t h e DataStore i n t e r f ac e : connect : ST m Var [add (Store LoggedOut)] disconnect : (store : Var) -> ST s b y t r y i n g t h e f ol l ow i n g ( i n c om p l e t e ) d e fi n i t i on : doConnect : DataStore m => ST m () [] doConnect = do st <- connect ?whatNow Not e t h at w e ’ r e w or k i n g i n0 码力 | 224 页 | 1.22 MB | 1 年前3
共 346 条
- 1
- 2
- 3
- 4
- 5
- 6
- 35