<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Yt7589的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Yt7589</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Yt7589]]></copyright><item><title><![CDATA[OpenMMLab实训营二期第一节笔记]]></title><link>https://blog.youkuaiyun.com/Yt7589/article/details/130984837</link><guid>https://blog.youkuaiyun.com/Yt7589/article/details/130984837</guid><author>Yt7589</author><pubDate>Thu, 01 Jun 2023 12:28:31 +0800</pubDate><description><![CDATA[介绍OpenMMLab基本功能。]]></description><category></category></item><item><title><![CDATA[Linear Regression in mojo with NDBuffer]]></title><link>https://blog.youkuaiyun.com/Yt7589/article/details/130864909</link><guid>https://blog.youkuaiyun.com/Yt7589/article/details/130864909</guid><author>Yt7589</author><pubDate>Thu, 25 May 2023 13:02:21 +0800</pubDate><description><![CDATA[The linear regression algorithm in AI language mojo. It shows how to use NDBuffer to develop machine learning program.]]></description><category></category></item><item><title><![CDATA[NDArray implementation in mojo]]></title><link>https://blog.youkuaiyun.com/Yt7589/article/details/130845619</link><guid>https://blog.youkuaiyun.com/Yt7589/article/details/130845619</guid><author>Yt7589</author><pubDate>Wed, 24 May 2023 14:01:20 +0800</pubDate><description><![CDATA[【代码】NDArray implementation in mojo。]]></description><category></category></item><item><title><![CDATA[chatGPT学习---Transformer代码实现2]]></title><link>https://blog.youkuaiyun.com/Yt7589/article/details/129803555</link><guid>https://blog.youkuaiyun.com/Yt7589/article/details/129803555</guid><author>Yt7589</author><pubDate>Tue, 28 Mar 2023 20:10:07 +0800</pubDate><description><![CDATA[下面我们来实现Transformer，在正式编写Transformer之前，我们先来看一下实现Transformer的一个小技巧，这个是我们看懂别人写的Transformer代码的一个关键。]]></description><category></category></item><item><title><![CDATA[chatGPT学习---Transformer代码实现1]]></title><link>https://blog.youkuaiyun.com/Yt7589/article/details/129778253</link><guid>https://blog.youkuaiyun.com/Yt7589/article/details/129778253</guid><author>Yt7589</author><pubDate>Sun, 26 Mar 2023 22:27:25 +0800</pubDate><description><![CDATA[以一个Hello World级代码生成应用，演示最简Transformer实现。]]></description><category></category></item><item><title><![CDATA[chatGPT学习---Transformer]]></title><link>https://blog.youkuaiyun.com/Yt7589/article/details/129769122</link><guid>https://blog.youkuaiyun.com/Yt7589/article/details/129769122</guid><author>Yt7589</author><pubDate>Sat, 25 Mar 2023 19:00:03 +0800</pubDate><description><![CDATA[xi∈Rnxi∈Rnx1x2x3x4x1x2x3x4WK∈Rdm×dkWK∈Rdm​×dk​，对应于每个输入信号的特征；WV∈Rdm×dvWV∈Rdm​×dv​，对应于每个输入信号的值，我们可以理解为一个输入信号由键、值对表示；]]></description><category></category></item><item><title><![CDATA[期权定价Python实现]]></title><link>https://blog.youkuaiyun.com/Yt7589/article/details/116642192</link><guid>https://blog.youkuaiyun.com/Yt7589/article/details/116642192</guid><author>Yt7589</author><pubDate>Wed, 12 May 2021 09:42:41 +0800</pubDate><description><![CDATA[期权定价实践期权定价公式迭代法
期权定价公式
期权定价通常使用BSM公式，如下所示：
C(St,K,t,T,r,σ)=StN(d1)−e−r(T−t)KN(d2)
C(S_{t}, K, t, T, r, \sigma)=S_{t} N(d_{1})-e^{-r(T-t)}KN(d_{2})
C(St​,K,t,T,r,σ)=St​N(d1​)−e−r(T−t)KN(d2​)
其中N(d)N(d)N(d)为标准正态分布x∼N(0,1)x \sim N(0,1)x∼N(0,1)时x&lt;dx&lt;dx&l]]></description><category></category></item><item><title><![CDATA[SpringCloud应用骨架开发2]]></title><link>https://blog.youkuaiyun.com/Yt7589/article/details/108562010</link><guid>https://blog.youkuaiyun.com/Yt7589/article/details/108562010</guid><author>Yt7589</author><pubDate>Mon, 14 Sep 2020 14:46:57 +0800</pubDate><description><![CDATA[在上一篇博文中，我们开发了一个基本的微服务，在本篇博文中，我们将在加入日志，健康监测方面的内容。
在应用中加入日志功能，是一项基本的需求。我们在这里介绍的只是针对单个微服务的日志功能。
我们首先在应用配置文件application.yaml中加入日志定义功能：
logging:
  pattern:
    console: "%d{HH:mm:ss.SSS} %-5level %logger{36} - %msg%n"
    file: "%d{HH:mm:ss.SSS} [%thread] %-5le]]></description><category></category></item><item><title><![CDATA[SpringCloud应用骨架开发]]></title><link>https://blog.youkuaiyun.com/Yt7589/article/details/108548346</link><guid>https://blog.youkuaiyun.com/Yt7589/article/details/108548346</guid><author>Yt7589</author><pubDate>Sat, 12 Sep 2020 14:34:33 +0800</pubDate><description><![CDATA[我们每做一个新项目，通常都是从另一个项目把代码拷贝过来，然后在其上做开发。但是这种模式的一个比较大的问题就是会有很多上个项目的遗留代码。因此，开发一个公共的应用骨架系统，在开始其他新项目时，从这个骨架系统开始开发，是一个很好的选择。
我们首先需要创建一个SpringBoot工程，我们可以使用：
https://start.spring.io/
如下所所：

上图中比较关键的是从页面右侧“Add Dependencies”按钮弹出的列表中选择“Spring Web”。网站上的工具会生成一个基本的SpringB]]></description><category></category></item><item><title><![CDATA[基于强化学习的期权量化交易回测系统5]]></title><link>https://blog.youkuaiyun.com/Yt7589/article/details/108237212</link><guid>https://blog.youkuaiyun.com/Yt7589/article/details/108237212</guid><author>Yt7589</author><pubDate>Fri, 28 Aug 2020 15:09:04 +0800</pubDate><description><![CDATA[我们现在已经可以在主循环中获取行情数据，并且传给了Agent类。接下来Agent类会调用策略类，由于决定采取的行动。在策略类做决策时，需要参考用户仓位Position信息，还有就是权利金、保证金、手续费等计算，在本篇博文中将对这些内容进行介绍。
交易费用计算
在进行期权交易时，多头买入认购和认沽期权时，需要向卖出方支付权利金，而为了保证卖方可以履约，要向卖方收取保证金。同时，券商还会收取手续费和税费，手续费和税费可能单边收取也可能双边收取，情况比较复杂。因此我们采用Commission类来进行管理。
我们首]]></description><category></category></item><item><title><![CDATA[基于强化学习的期权量化交易回测系统4]]></title><link>https://blog.youkuaiyun.com/Yt7589/article/details/108222763</link><guid>https://blog.youkuaiyun.com/Yt7589/article/details/108222763</guid><author>Yt7589</author><pubDate>Wed, 26 Aug 2020 11:44:11 +0800</pubDate><description><![CDATA[获取50ETF指数行情数据
50ETF期权的标的物是50ETF指数，我们可以使用akshare来获取该指数的日行情数据，如下所示：
class Sh50etfIndexDataSource(object):
	......
    def get_daily_data(self, start_date, end_date):
        df = ak.stock_zh_index_daily(symbol="sh510050")
        df1 = df.loc[start_date: end]]></description><category></category></item><item><title><![CDATA[基于强化学习的期权量化交易回测系统3]]></title><link>https://blog.youkuaiyun.com/Yt7589/article/details/108140652</link><guid>https://blog.youkuaiyun.com/Yt7589/article/details/108140652</guid><author>Yt7589</author><pubDate>Tue, 25 Aug 2020 15:24:40 +0800</pubDate><description><![CDATA[在本篇博文中，我们将获取50EFT期权的日行情数据和50ETF的日行情数据，作为环境的状态数据，可以在强化学习环境SopEnv中逐日显示出来。
数据集对象定义
我们定义50ETF日行情数据集类D50etfDataset，在其中统一管理50ETF行情和50ETF期权行情数据以及Greeks信息、VIX恐慌指数等信息。D50etfDataset是PyTorch中Dataset的子类，该类中有两个我们必须提供实现代码的方法，分别为__len__获取数据集中样本数量，__getitem__获取指定索引的样本数据，大]]></description><category></category></item><item><title><![CDATA[基于强化学习的期权量化交易回测系统2]]></title><link>https://blog.youkuaiyun.com/Yt7589/article/details/108129172</link><guid>https://blog.youkuaiyun.com/Yt7589/article/details/108129172</guid><author>Yt7589</author><pubDate>Thu, 20 Aug 2020 18:05:40 +0800</pubDate><description><![CDATA[在本篇博文中，我们将介绍强化学习环境类SopEnv的具体实现。
SopEnv类的基类为gym.Env类，这样做的目的是为了与当前主流的强化学习系统兼容，我们需要重写该类的四个方法：

reset：重置系统为初始状态；
_next_observation：获取并返回环境状态；
_take_action：执行Agent所选择的行动；
step：最重要的方法，在该方法中执行如下操作：

执行Agent选择的行动；
获取当前状态；
生成当前奖励信号；



除了上述方法之外，该类还有一个重要的方法startup，在]]></description><category></category></item><item><title><![CDATA[基于强化学习的期权量化交易回测系统1]]></title><link>https://blog.youkuaiyun.com/Yt7589/article/details/108125497</link><guid>https://blog.youkuaiyun.com/Yt7589/article/details/108125497</guid><author>Yt7589</author><pubDate>Thu, 20 Aug 2020 16:58:19 +0800</pubDate><description><![CDATA[概述
量化交易平台很重要的一个环节就是回测系统，可以通过对历史行情的回放，验证量化交易策略的性能表现。量化交易强化学习环境，则是向Agent提供一个交互的环境，Agent（即量化策略）根据市场环境（强化学习环境）的状态，选择最合适的操作，强化学习环境会根据操作结果，反馈给Agent，供Agent改进其策略网络。通常这两者是单独的系统，我们用强化学习环境来训练Agent即量化交易策略，然后再回测系统中验证策略的性能表现。但是这样做一个明显的缺点就是历史行情和交易过程的模拟需要做两份，所以将二者融合起来，具有很]]></description><category></category></item><item><title><![CDATA[期权基础知识]]></title><link>https://blog.youkuaiyun.com/Yt7589/article/details/108082500</link><guid>https://blog.youkuaiyun.com/Yt7589/article/details/108082500</guid><author>Yt7589</author><pubDate>Tue, 18 Aug 2020 20:28:32 +0800</pubDate><description><![CDATA[期权允许做非常复杂的策略，有策略之王的称号。同时我国已经引入期权交易5、6年之久，其中的50ETF期权交易非常活跃。由于期权可以在任意市场上环境下操作，具有高杠杆比的特点，是量化交易领域非常重要的一块。
然而要进行期权的量化交易，我们必须先搞清期权的基本概念。下面我们就以50ETF为例，向大家介绍期权的基本概念。
认购（看涨）期权
认购期权也称为看涨期权，如果认为50ETF会大涨，则可以考虑买入认购期权。
初始状态
我们假设张三持有12月到期的50ETF认购期权：

期权类型：认购期权；
行权价格：2.40]]></description><category></category></item><item><title><![CDATA[利用akshare读取50EFF期权2]]></title><link>https://blog.youkuaiyun.com/Yt7589/article/details/108081545</link><guid>https://blog.youkuaiyun.com/Yt7589/article/details/108081545</guid><author>Yt7589</author><pubDate>Tue, 18 Aug 2020 17:10:14 +0800</pubDate><description><![CDATA[我们接下来将研究获取期权历史行情数据的方法。
获取当天分钟级数据
我们可以获取指定合约编号，当天的分钟级数据：
    def demo(self):
        option_sina_sse_minute_df = ak.option_sina_sse_minute(code="10002513")
        ticks = option_sina_sse_minute_df['时间']
        prices = option_sina_sse_minute_df['价格']
    ]]></description><category></category></item><item><title><![CDATA[利用akshare读取50EFF期权1]]></title><link>https://blog.youkuaiyun.com/Yt7589/article/details/108053852</link><guid>https://blog.youkuaiyun.com/Yt7589/article/details/108053852</guid><author>Yt7589</author><pubDate>Mon, 17 Aug 2020 16:56:56 +0800</pubDate><description><![CDATA[目前国内期权市场比较活跃的期权产品，当属上证的50ETF期权，下面我们将通过akshare库，来获取50ETF期权数据。
获取合约到期月份列表
    def demo(self):
        # 获取合约到期月份列表
        option_sina_sse_list_df = ak.option_sina_sse_list(
                    symbol="50ETF", exchange="null")
        print(option_sina_sse_l]]></description><category></category></item><item><title><![CDATA[易经量化交易系统之回测系统2]]></title><link>https://blog.youkuaiyun.com/Yt7589/article/details/107932414</link><guid>https://blog.youkuaiyun.com/Yt7589/article/details/107932414</guid><author>Yt7589</author><pubDate>Tue, 11 Aug 2020 22:00:21 +0800</pubDate><description><![CDATA[订单类
当回测系统运行时，我们所开发的策略，会根据市场行情数据，生成相应的买入、卖出操作，这时就会产生订单。订单包括时间戳、交易标的代码、买卖操作、数量、价格、头寸等信息，产生订单后，会将订单提交给broker来进行处理，会进一步添加执行时间、交易价格、交易数量信息。我们这里先只处理市场价订单，其他类型订单，如限制、终止订单等，可以在这个基本系统上进行扩展。
class Order(object):
    # 订单类型定义
    OT_MARKET_ORDER = 1001 # 市价类型订单
    #]]></description><category></category></item><item><title><![CDATA[易经量化交易系统之回测系统1]]></title><link>https://blog.youkuaiyun.com/Yt7589/article/details/107918126</link><guid>https://blog.youkuaiyun.com/Yt7589/article/details/107918126</guid><author>Yt7589</author><pubDate>Tue, 11 Aug 2020 11:49:02 +0800</pubDate><description><![CDATA[我们在这里向大家介绍如何从零开始，实现一个适合于A股市场的回测系统。在这里我们以A股日K线数据为例，实际上可以比较方便的扩展为分级的数据源。
Tick数据类
我们首先定义一个Tick数据的基类，这个类维护所有金融市场标的的Tick数据具有共性的内容：
class TickData(object):
    def __init__(self, symbol, timestamp):
        '''
        symbol 股票代码
        timestamp 时间点
        ']]></description><category></category></item><item><title><![CDATA[易经量化交易系统2]]></title><link>https://blog.youkuaiyun.com/Yt7589/article/details/107792068</link><guid>https://blog.youkuaiyun.com/Yt7589/article/details/107792068</guid><author>Yt7589</author><pubDate>Tue, 04 Aug 2020 18:29:30 +0800</pubDate><description><![CDATA[在本篇博文中，我们要向回测系统中加入佣金、印花税、过户费等交易成本项目，使我们的回测系统更加真实。
根据当前A股市场税费的规定，主要有以下三项：

佣金：交易额的0.3%，起征点5元，双向收取；
过户费：交易额的0.02%，双向收取；
印花税：交易额的0.1%，卖出方收取；

在原始的BackTrader中，只允许收取固定比例佣金，所以我们需要扩展其功能。我们首先扩展CommInfoBase类：
# A股手续类，主要包括三项：
# 1. 佣金：交易额的0.3%，起征点5元，双向收取;
# 2. 过户费：交易]]></description><category></category></item></channel></rss>