简单来讲:量化投资就是利用计算机科技并采用一定的数学模型去实现投资理念、实现投资策略的过程—-传统的投资方法主要有基本面分析法和技术分析法
国内量化投资起步:2009年
是一种主动投资
理论基础:市场是无效的/弱有效
理论变迁—
有效市场假说EMH—在功能齐全、信息畅通的资本市场中,任何用历史价格及其他信息来预测证券价格的行为都是徒劳
期权定价模型
套利定价理论APT
VaR风险管理模型
行为金融学—吸收心理学,分析与有效市场理论不相符合的异常现象
非线性技术
—–为何要用量化策略投资A股—A股市场就不是特别有效的市场,量化投资策略正好可以发挥其纪律性、系统性、及时性、准确性、分散化的优点而捕获国内市场的各种投资机会
Read more
采用数量的方法判断某个公司是否值得买入【主要思路】公司估值—比较理论股票价格与市场价格差异,找出被低估或高估的股票趋势法—根据市场强势、弱势、盘整等形态作出对应投资行为资金法—追随市场主力资金的方向(资金流入价格上涨|资金流出价格下跌)
基本面选股多因子模型–最常用,采用一系列因子作为标准,满足则买入不满足则卖出
风格轮动模型—有时市场偏好小盘股有时偏好大盘股
行业轮动模型–类似风格轮动(市场),对轮动的行业进行配置比买入持有更有效
市场行为选股资金流模型—将资金流入流出编成指标,判断未来一段时间股票涨跌
Read more
—其实是本书大纲【策略篇】判断趋势型—趋势向上则做多,趋势向下则做空(高抛低吸)量化选股
量化择时判断波动率型—套利【通过在不同市场上买入和卖出同一资产以利用市场价格差异,从而赚取风险较小的利润。例如,如果某个商品在两个市场上的价格不同,买入价格低的市场,并在价格高的市场上卖出,获得利润】股指期货套利—在股票和股指期货之间的对冲操作
商品期货—在不同的期货品种之间
统计套利—在有相关性的品种之间
期权套利—在看涨看跌期权之间的对冲
降低冲击成本—买卖订单本身对市场都是有影响的,会降低投资者的收益率被动交易算法
Read more
参考文档
项目结构mysite/ # 根目录
manage.py # Django命令行工具
mysite/ # 项目配置目录
__init__.py # 空文件,告诉python这个目录是python包
settings.py # 项目配置文件
urls.py # 项目所有urls声明汇总
asgi.py # ASGI服务器的入口文件
wsgi.py # WSGI服务器的入口文件
软件开发模式
==Django所采用的MVT 模型-视图-模板==
Django的MVT设计模式由Model(模型), View(视图) 和Template(模板)三部分组成,分别对应单个app目录下的models.py, views.py和templates文件夹。它们看似与MVC设计模式不太一致,其实本质是相同的。Django的MVT设计模式与经典的MVC对应关系如下。
Django Model(模型): 这个与经典MVC模式下的模型Model差不多。
Django View(视图): 这个与MVC下的控制器Controller更像。视图不仅负责根据用户请求从数据库读取数据、指定向用户展示数据的方式(网页或json数据), 还可以指定渲染模板并处理用户提交的数据。
Django Template(模板): 这个与经典MVC模式下的视图View一致。模板用来呈现Django view传来的数据,也决定了用户界面的外观。Template里面也包含了表单,可以用来搜集用户的输入内容。
Django MVT设计模式中最重要的是视图(view), 因为它同时与模型(model)和模板(templates)进行交互。当用户发来一个请求(request)时,Django会对请求头信息进行解析,解析出用户需要访问的url地址,然后根据路由urls.py中的定义的对应关系把请求转发到相应的视图处理。视图会从数据库读取需要的数据,指定渲染模板,最后返回响应数据。这个过程如下图所示:
Read more
服务器C/S架构
B/S架构
使用 WampServer 搭建 HTTP服务静态网站和动态网站静态网站:
访问的是实实在在保存在服务器上的文件。静态资源包括:html页面、css文件、js文件、图片等。
当内容、图片、界面需要更新时,直接修改.html文件。
动态网站:
当用户访问网站时,根据某些逻辑,动态生成对应的HTML、CSS、JS代码给用户(这也就是web服务器开发的本质)。
通过某种手段,当有新的消息时,自动的完成网站的更新。
Read more
基础部分写在哪行内
<input type="button" value="点我点我" onclick="alert('千古壹号 Hello 方式1')" />
内联
<script type="text/javascript">
// 在这里写 js 代码
alert('千古壹号 hello 方式2');
console.log('qianguyihao hello 方式2');
</script>
.js文件中
<body>
<!-- 外链式:引入外部的 js 文件:这个 utils.js 文件与当前的 html 文件,处于同一级目录 -->
<script src="utils.js"></script>
</body>
区分大小写
Read more
文字阴影p{
text-shadow: 20px 27px 22px pink;
/*水平位移 垂直位移 模糊程度 阴影颜色*/
}
设置多个阴影实现凹凸效果
text-shadow: -1px -1px 1px #fff, 1px 1px 1px #000;/*凹*/
text-shadow: -1px -1px 1px #000, 1px 1px 1px #fff;/*凸*/
盒子大小box-sizing: content-box;
此时设置的 width 和 height 是内容区域的宽高。盒子的实际宽度 = 设置的 width + padding + border。此时改变 padding 和 border 的大小,也不会改变内容的宽高,而是盒子的总宽高发生变化
box-sizing: border-box;
此时设置的width和height是盒子的总宽高。盒子的实际宽度=设置的width。此时改变padding和border的大小,会改变内容的宽高,盒子的总宽高不变。
Read more
我看这个是最全的:直接查看就行
CSS 选择器 | 菜鸟教程 (runoob.com)
选择器
示例
示例说明
CSS
.class
.intro
选择所有class=”intro”的元素
1
#id
#firstname
选择所有id=”firstname”的元素
1
*
*
选择所有元素
2
element
p
选择所有元素
1
element,element
div,p
选择所有元素和元素
1
element element
div p
选择元素内的所有元素
1
element>element
div>p
选择所有父级是 元素的 元素
2
element+element
div+p
选择所有紧跟在 元素之后的第一个 元素
2
[attribute]
[target]
选择所有带有target属性元素
2
[attribute=value]
[target=-blank]
选择所有使用target=”-blank”的元素
2
[attribute~=value]
[title~=flower]
选择标题属性包含单词”flower”的所有元素
2
[attribute|=language]
[lang|=en]
选择 lang 属性等于 en,或者以 en- 为开头的所有元素
2
:link
a:link
选择所有未访问链接
1
:visited
a:visited
选择所有访问过的链接
1
:active
a:active
选择活动链接
1
:hover
a:hover
选择鼠标在链接上面时
1
:focus
input:focus
选择具有焦点的输入元素
2
:first-letter
p:first-letter
选择每一个元素的第一个字母
1
:first-line
p:first-line
选择每一个元素的第一行
1
:first-child
p:first-child
指定只有当元素是其父级的第一个子级的样式。
2
:before
p:before
在每个元素之前插入内容
2
:after
p:after
在每个元素之后插入内容
2
:lang(language)
p:lang(it)
选择一个lang属性的起始值=”it”的所有元素
2
element1~element2
p~ul
选择p元素之后的每一个ul元素
3
[attribute^=value]
a[src^=”https”]
选择每一个src属性的值以”https”开头的元素
3
[attribute$=value]
a[src$=”.pdf”]
选择每一个src属性的值以”.pdf”结尾的元素
3
[attribute*=value]
a[src*=”runoob”]
选择每一个src属性的值包含子字符串”runoob”的元素
3
:first-of-type
p:first-of-type
选择每个p元素是其父级的第一个p元素
3
:last-of-type
p:last-of-type
选择每个p元素是其父级的最后一个p元素
3
:only-of-type
p:only-of-type
选择每个p元素是其父级的唯一p元素
3
:only-child
p:only-child
选择每个p元素是其父级的唯一子元素
3
:nth-child(n)
p:nth-child(2)
选择每个p元素是其父级的第二个子元素
3
:nth-last-child(n)
p:nth-last-child(2)
选择每个p元素的是其父级的第二个子元素,从最后一个子项计数
3
:nth-of-type(n)
p:nth-of-type(2)
选择每个p元素是其父级的第二个p元素
3
:nth-last-of-type(n)
p:nth-last-of-type(2)
选择每个p元素的是其父级的第二个p元素,从最后一个子项计数
3
:last-child
p:last-child
选择每个p元素是其父级的最后一个子级。
3
:root
:root
选择文档的根元素
3
:empty
p:empty
选择每个没有任何子级的p元素(包括文本节点)
3
:target
#news:target
选择当前活动的#news元素(包含该锚名称的点击的URL)
3
:enabled
input:enabled
选择每一个已启用的输入元素
3
:disabled
input:disabled
选择每一个禁用的输入元素
3
:checked
input:checked
选择每个选中的输入元素
3
:not(selector)
:not(p)
选择每个并非p元素的元素
3
::selection
::selection
匹配元素中被用户选中或处于高亮状态的部分
3
:out-of-range
:out-of-range
匹配值在指定区间之外的input元素
3
:in-range
:in-range
匹配值在指定区间之内的input元素
3
:read-write
:read-write
用于匹配可读及可写的元素
3
:read-only
:read-only
用于匹配设置 “readonly”(只读) 属性的元素
3
:optional
:optional
用于匹配可选的输入元素
3
:required
:required
用于匹配设置了 “required” 属性的元素
3
:valid
:valid
用于匹配输入值为合法的元素
3
:invalid
:invalid
用于匹配输入值为非法的元素
3
属性选择器属性选择器的标志性符号是 []。
匹配含义:
^:开头 $:结尾 *:包含
格式:
E[title] 选中页面的E元素,并且E存在 title 属性即可。
E[title="abc"]选中页面的E元素,并且E需要带有title属性,且属性值完全等于abc。
E[attr~=val] 选择具有 att 属性且属性值为:用空格分隔的字词列表,其中一个等于 val 的E元素。
E[attr|=val] 表示要么是一个单独的属性值,要么这个属性值是以“-”分隔的。
E[title^="abc"] 选中页面的E元素,并且E需要带有 title 属性,属性值以 abc 开头。
E[title$="abc"] 选中页面的E元素,并且E需要带有 title 属性,属性值以 abc 结尾。
E[title*="abc"] 选中页面的E元素,并且E需要带有 title 属性,属性值任意位置包含abc。
Read more