工厂模式常规的对象创建模式为直接用类来创建一个对象,但是这样创建对象和使用对象的职责耦合在一起,会出现耦合太强,导致后续会影响程序的拓展。
而当你的代码出现一下的一些情况,就十分适合运用工厂模式解决问题:
两个类A和B之间的关系应该仅仅是A创建B或是A使用B,而不能两种关系都有
将对象的创建和使用分离,也使得系统更加符合“单一职责原则”,有利于对功能的复用和系统的维护
防止用来实例化一个类的数据和代码在多个类中到处都是
一些类实例的构建过程可能十分复杂,需要进行封装
为类实例的构建提供更好的多态支持(不确定具体对象)
具体工厂模式的好处有以下几点:
模块间解耦、降低代码重复
减少使用者因为创建逻辑导致的错误。
一个调用者想创建一个对象,只要知道其名称就可以了。屏蔽产品的具体实现,调用者只关心产品的接口。
扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以。
但是也有一定的缺点:
每次增加一个产品时,都需要增加一个具体类和对象实现工厂,使得系统中类的个数成倍增加,在一定程度上增加了系统的复杂度,同时也增加了系统具体类的依赖。这并不是什么好事。
实践首先我们想要去 ...
写在前面这是我第一次分享设计模式相关的知识,因此先给大家介绍一下什么是设计模式。
所谓设计模式,就是为了让代码拥有更好的可读性、可拓展性以及可靠性的代码编写方式。
设计模式的使用有几个原则:
开闭原则(Open Close Principle)
对扩展开放,对修改关闭
里氏代换原则(Liskov Substitution Principle)
任何基类可以出现的地方,派生类一定可以出现
即基类可被派生类替换
依赖倒转原则(Dependence Inversion Principle)
针对接口编程,依赖抽象而不依赖具体
接口隔离原则(Interface Segregation Principle)
使用多个隔离的接口,比使用单个接口要好
降低类之间的耦合度
最小知道原则(Demeter Principle)
一个实体应当尽量少地与其他实体发生作用
系统功能模块应相对独立
合成复用原则(Composite Reuse Principle)
尽量使用合成/聚合的方式,而不是使用继承
单例模式单例模式,顾名思义,就是全局只有一个一个实例的设计模式,通常在 ...
写在前面众所周知,Typora是最受欢迎的Markdown编辑器之一,而基于Hexo框架的博客文章也是使用markdown语法写的,因此在编写Hexo文章时使用Typora就是自然而然地选择了。
但是,直接使用二者时却总有一些不对劲。其主要原因是Typora和Hexo对于图片路径的识别不太一样,因此编辑时使用的图片路径和网站中能看到的图片路径是不同的。因此如何能方便而灵活的将两者结合在一起还是需要一个“调教”的过程的。
抬头设置首先,我们去查看一下博客根目录下的root/scaffolds/post.md文件,可以在其中定义一些希望文章具备的属性,比如文章的标签、分类、封面等属性。设置好后,使用hexo初始化你的文章时,就可以在文件中自动生成这些信息了。
图片设置
将__config.yml 中的 post_asset_folder 设置为 true,这样每次创建文章的时候会生成同名的文件夹,可以将图片等资源文件放进去。
使修改Typora 中设置——图像——复制到指定路径,将其改为./${filename},之后,我们在Typora中插入图片时,图片会自动复制 ...
写在前面我的代码大部分是参考HCLonely项目的,但是在使用过程中有一些不顺手的地方,因此有了对其魔改的想法,从个人使用角度优化了几个问题,请大家多多支持本项目与原项目(。・∀・)ノ゙
引用站外地址
为Hexo添加Steam游戏库页面
HCLonely
使用方法首先给出本插件的地址:
引用站外地址
hexo-better-steam
6Young
在博客项目的根目录运行命令安装插件:
1npm install hexo-better-steam --save
在博客配置文件_config.yml中添加配置信息,当你只有一个账号时:
123456789steam: enable: tr ...
效果预览参考了一些大佬的代码以及网络中零零碎碎的代码片段,做出来了一个这个纪念我和女朋友爱情长跑时间记录的侧边栏,先来给大家看看效果~~~
里面主要有几个要素:双方头像(可以链接至双方网站),双方在一起的计时以及一句随机土味情话。下面就看看是怎么做的吧~
首先,我们要创建卡片所需的js和css文件,我们可以将二者放在根目录的source文件夹下或者主题目录的source文件夹下。
相关文件Javascript文件下面card_love.js文件内容,其中月份使用的是monthIndex,也就是说0代表着一月……11代表着十二月,要特别注意。
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273var htmer_time = document.getElementById("htmer_time");var htmer_time_time = n ...
在这篇文章中介绍了行为金融学的一些基本知识框架,下面我想要再补充一些内容:
引用站外地址
【金融知识】行为金融知识提纲
6Young
有限套利 在实际市场中,信息在不同投资者之间的传递速度不同,投资的时间尺度不同,不同投资者关注的信息也有所差异,加上人类大脑中的根深蒂固的认知偏差,有效市场理论的假设条件几乎无法被满足。其中有一群人,或是误将噪音当成了真正有用的信息,抑或只是因为他们喜欢交易,而成为**”噪音交易者”**。
由于噪音交易者的存在,价格往往会偏离资产的内在价值,出现定价错误,给套利者以套利机会。但同样因为由于噪音交易者的存在,套利者在套利的过程中,价格可能并不会像他们预期的那样回归正确轨道,其背后原因正是有限套利。赚取套利收益时会面对基本面风险、噪音交易者风险以及实施成本,这些风险使得理性投资者无法做到充分套利。
基本面风险 假设某股票的价格因噪音投资者的抛售而下跌 ...
行为金融学是金融学、心理学、行为学、社会学等学科相交叉的边缘学科,力图揭示金融市场的非理性行为和决策规律。行为金融理论认为,证券的市场价格并不只由证券内在价值所决定,还在很大程度上受到投资者主体行为的影响,即投资者心理与行为对证券市场的价格决定及其变动具有重大影响。行为金融学本质上是研究人们在市场上的真实行为,而不是按照随机漫步理论上的行为。心理学以及社会学和人类学的社会科学学科为研究真实的人在市场中的行为提供了模型。使用基于这些学科的研究揭示了人类行为的可预测模式。
曾看到一句话解释传统金融学与行为金融学非常好:传统金融学研究的是市场“应该是”什么样,而行为金融学研究的是市场“实际是”什么样。在看待任何领域的事物时,“应该是”的视角帮我们把握长远基准,“实际是”的视角帮我们理解当下发生的事情。
理论基础 要深入系统的了解行为金融学,首先需要了解行为金融学的三大理论基础:有限理性假说、有限套利以及前景理论。
有限理性假说 传统金融学假设人都是“理性人”,其基本特征是每一个从事经济活动的人所采取的经济行为和决策都是用最小的成本代价去获得最大的经济利益。然而,因为人的知识、时间 ...
1 确定与随机问题设你和朋友玩一个游戏,规则如下:
1、桌子上有7颗棋子,你们二人轮流拿走一定数量,最终谁先拿走最后一颗棋子的人获胜;
2、你的朋友相信随机,在他的回合里,他可以投掷一枚6面子,并拿走对应数目的棋子(如果剩下的棋小于这个数目则全部拿走);
3、你不喜欢随机,因此在你的回合里可以自行决定拿走1颗棋子或2颗棋子,但是不能不拿,同时你可以选择先走或后走那么在最优决策的情况下你的获胜几率是多少?
解答首先最优决策的情况一定是选择后手,且每次只拿1颗棋子,除非到你的回合时场上只剩1-2颗棋子,此时可以全部拿走获胜,因为在没有把握决胜时,给对方回合留的棋子越少,你失败的概率更高。
定义轮到你时,如果还剩$n$个棋子,胜率为$p_n$。则易得:$p_1 = p_2 = 100%$
$n=3$时,你拿1,对方拿1,你再拿1才能胜利,即:$p_3 = \frac{1}{6}p_1=\frac{1}{6}$
同理$p_4 = \frac{1}{6}p_1+\frac{1}{6}p_2=\frac{2}{6}$
可以得到规 ...
为什么中性化?在因子投资的研究中,深入探索和理解因子的作用至关重要,包括对因子的检验和因子收益的计算等关键步骤。而为了提高因子的表现,降低因子在各个维度的风险暴露,我们通常会遵循一个去极值、标准化、中性化的标准流程。其中,去极值、标准化都很容易理解,那么什么叫中性化,又如何中性化呢?
我们一般会针对因子在行业上的暴露中性化,有些因子与特定行业关联紧密,例如银行业或制造业。当我们仅仅通过回归分析得出一个因子与收益的关系良好,但没有考虑到不同行业之间的差异时,我们可能过早得出这一因子非常有效的结论。
市值也是一个需要格外留意的因素。在过去,小市值股票通常表现出更高的平均收益,而如今大市值股票可能更具吸引力。若某因子在小市值股票中表现出色,我们需要搞清楚,是因为市值本身的作用还是因为因子本身的效用。市值中性化有助于解决这一谜团。
当然我们也可以对更多的风险因子进行中性化,比如Barra的十个风险因子就是常用的用于风险中性化的指标。
为什么要中性化?用生活中的场景举例,通常我们可以用价格评价一个苹果的好坏,毕竟一分价钱一分货,但是进口的苹果一般会比国产贵不少,能说明进口苹果一定好吗?显然不行! ...
引用站外地址
Moderate-risk-model
6YoungHome
适度冒险因子由于本因子需要用到分钟级别的量价数据,全部得到数据量太大,难以保存与下载。因此,我只选取了其中299只股票2021年的数据进行简单的实现。
数据准备123456789import pandas as pdimport jsonimport osimport zipfileimport numpy as npfrom tqdm import tqdmfrom mytools import backtestimport warningswarnings.filterwarnings("ignore")
12with open("../data/stock_pool.json", 'r') as f: stock_pool = jso ...