一、PGE简介

二、PGE代码

# 导入函数库
import jqdata
import pandas as pd def initialize(context):
set_benchmark('000300.XSHG')
set_option('use_real_price', True)
set_order_cost(OrderCost(close_tax=0.001, open_commission=0.0003, close_commission=0.0003, min_commission=5), type='stock') g.security = get_index_stocks('000300.XSHG')
g.N = 20
g.q = query(valuation.code, valuation.pe_ratio, indicator.inc_net_profit_year_on_year).filter(valuation.code.in_(g.security))
run_monthly(handle, 1) def handle(context):
df = get_fundamentals(g.q)
df = df[(df['pe_ratio']>0) & (df['inc_net_profit_year_on_year']>0)]
df['peg'] = df['pe_ratio'] / df['inc_net_profit_year_on_year'] / 100
df = df.sort(columns='peg')
tohold = df['code'][:g.N].values for stock in context.portfolio.positions:
if stock not in tohold:
order_target_value(stock, 0) tobuy = [stock for stock in tohold if stock not in context.portfolio.positions] if len(tobuy) > 0:
cash = context.portfolio.available_cash / len(tobuy)
cash_every_stock = cash / len(tobuy)
for stock in tobuy:
order_value(stock, cash_every_stock)

三、长线测试

金融量化分析【day113】:PGEC策略的更多相关文章

  1. day31 堡垒机尾声 + Python与金融量化分析(一)

    堡垒机尾声: 代码案例:https://github.com/liyongsan/git_class/tree/master/day31 课堂笔记:file send: 1.选择本地文件 2.远程路径 ...

  2. 金融量化分析【day110】:金融基础知识

    一.股票 股票: 股票是股份公司发给出资人的一种凭证,股票的持有者就是股份公司的股东. 股票的面值与市值 面值表示票面金额 市值表示市场价值 上市/IPO: 企业通过证券交易所公开向社会增发股票以募集 ...

  3. 金融量化分析【day112】:初识量化交易

    一.摘要 为什么需要量化交易? 量化交易是做什么? 量化交易的价值何在? 做量化交易需要什么? 聚宽是什么? 零基础如何快速入门量化交易? 自测与自学 二.量化交易比传统交易强多少? 它能让你的交易效 ...

  4. Python与金融量化分析----金融与量化投资

    一:金融了解 金融:就是对现有资源进行重新的整合之后,进行价值和利润的等效流通. 金融工具: 股票 期货 黄金 外汇 基金 ............. 股票: 股票是股份公司发给出资人多的一种凭证,股 ...

  5. day32 Python与金融量化分析(二)

    第一部分:金融与量化投资 股票: 股票是股份公司发给出资人的一种凭证,股票的持有者就是股份公司的股东. 股票的面值与市值 面值表示票面金额 市值表示市场价值 上市/IPO: 企业通过证券交易所公开向社 ...

  6. 金融量化分析-python量化分析系列之---使用python获取股票历史数据和实时分笔数据

    财经数据接口包tushare的使用(一) Tushare是一款开源免费的金融数据接口包,可以用于获取股票的历史数据.年度季度报表数据.实时分笔数据.历史分笔数据,本文对tushare的用法,已经存在的 ...

  7. 金融量化分析【day113】:聚宽自带策略

    一.策略代码 # 导入函数库 from jqdata import * # 初始化函数,设定基准等等 def initialize(context): # 设定沪深300作为基准 set_benchm ...

  8. 金融量化分析【day113】:布林带策略

    一.布林带策略简介 1.简介 2.计算公式 3.图形      二.布林带策略代码 import jqdata def initialize(context): set_benchmark('0000 ...

  9. 金融量化分析【day113】:羊驼策略

    零.动量策略VS反转策略 1.实现代码 # 导入函数库 import jqdata import pandas as pd import numpy as np import datetime imp ...

随机推荐

  1. A Survey of Machine Learning Techniques Applied to Software Defined Networking (SDN): Research Issues and Challenges

    将机器学习用到SDN中的综述:研究的问题和挑战 从流量分类.路由优化.服务质量(Qos)/体验质量(QoE)预测.资源管理和安全性的角度,回顾了机器学习算法如何应用于SDN领域. 相关知识 在SDN中 ...

  2. Hacked VisualSVN Server by PHP to allow user change password

    index.php <?php$username = $_SERVER["PHP_AUTH_USER"]; //经过 AuthType Basic 认证的用户名$authed ...

  3. Javascript中的闭包和C#中的闭包

    js和C#中都有闭包的概念,闭包本质上是一个对象,是指有权访问另一个局部作用域中的变量的对象(或函数,在C#中是委托).这个对象和函数/方法有关: 在js中,闭包是由于函数引用了局部变量形成的.在C# ...

  4. js面向对象高级编程

    面向对象的组成 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...

  5. 批处理-For详解

    大纲 一 前言 二 for语句的基本用法 三 for /f (delims.tokens.skip.eol.userbackq.变量延迟) 四 for /r (递归遍历) 五 for /d (遍历目录 ...

  6. 普通PC安装ESXi5.5以及以上的方法

    原贴内容 With ESXi 5, ESX no longer uses MBR for boot, it has gone to GPT-based partitions instead.    W ...

  7. big emoji & emoji

    big emoji & emoji font-size: 10 rem; https://www.clickemoji.com/ https://www.cnblogs.com/xgqfrms ...

  8. MT【36】反函数有关的一道题

    解答:$\frac{7}{2}$ 做适当的变换,再令$x-1=t$容易划归到我们熟悉的题型,$2^t=\frac{3}{2}-t,log_2t=\frac{3}{2}-t$作图或者利用函数单调性可得$ ...

  9. 自学Linux Shell11.1-shell概述

    点击返回 自学Linux命令行与Shell脚本之路 11.1-shell概述 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计 ...

  10. cf1000D Yet Another Problem On a Subsequence (dp)

    设f[i]是以i为开头的好子序列的个数 那么有$f[i]=\sum\limits_{j=i+a[i]+1}^{N+1}{f[j]*C_{j-i-1}^{a[i]}}$(设f[N+1]=1)就是以i为开 ...