网站上线确认书网站免费源码下载

diannao/2025/10/24 22:41:32/文章来源:
网站上线确认书,网站免费源码下载,wordpress icp备案在哪个文件中,21ic项目外包平台书接上两回 柒拾- tushare 模拟策略交易 #xff08;一#xff09; 柒拾壹- tushare 模拟策略交易 #xff08;二#xff09; 开始 终于我们可以可以来进行模拟了 复杂 的我不会#xff0c;所以就写个最简单的策略吧#xff1a; 买入条件 比两年前是上升的比一年前…书接上两回 柒拾- tushare 模拟策略交易 一 柒拾壹- tushare 模拟策略交易 二 开始 终于我们可以可以来进行模拟了 复杂 的我不会所以就写个最简单的策略吧 买入条件 比两年前是上升的比一年前是上升的比一个月前上升更下降的区间在 ± 0.38% 内比昨天上涨 0.1% 以上 0.5% 以下 卖出条件 如果当前下跌 5% 则全卖出 进行模拟 设计模拟时间 先进行模拟时间即回测多少天 strStartDate 20230101 strEndDate 20240407就是从 2023年的1月1日开始进行策略2024年4月7日结束 选股范围 strIndustry 银行只选择银行股进行回测 中间计算 因为需要计算 2年、1年、半年等时间窗口各股票的涨跌用 Python 比较麻烦于是使用 SQL 进行计算 完整代码 Descripttion: 就简单回测 Version: 1.0 Author: BerryBC Date: 2024-02-18 12:09:31 LastEditors: BerryBC LastEditTime: 2024-04-07 11:07:43 import datetime from Lib.DBConn import claDBConn from Lib.BackTestingDailyDeal import claBackTestingDailyDealbtDaily claBackTestingDailyDeal(研究银行股, 根据时间窗口看追涨, 100000) dbConn claDBConn()strStartDate 20240101 strEndDate 20240407strStock 601988.SHstrMaxDate # 时间序列 strSQLTime SELECT * FROM tb_calendar WHERE trade_date \strStartDate AND trade_date strEndDate ORDER BY trade_date listCal dbConn.ReturnSQLData(strSQLTime)# 打印快照 btDaily.AssetSnapshot(listCal[0][0])# 循环验证 for tubDay in listCal:# 计算日期strNowDate tubDay[0]strMaxDatestrNowDate.::::..::::::::.:::::::::::..:::::::::::::::::::::::.::::::::::::::::::::::::....::::::::::::.::::::::::::::::::::::::::::: .:::.:::: ::::: .::::::::..:::: :::: .:::::::::::..::: ::::: .::::::::: :::::..:: :::::.::::::::: :::::..:: :::::::::::::: ::::....::: :::::::::::: ::.:. ::::::::: ::::...::::: :..# 追涨杀跌# # 每日数据# strSQLQuote SELECT * FROM tb_daily_stock_quote WHERE trade_date \# strNowDate AND ts_code strStock# listQuote dbConn.ReturnSQLData(strSQLQuote)# if listQuote[0][8] 0.2:# btDaily.BuyStock(strNowDate, strStock, 500,追涨)# elif listQuote[0][8] -0.1:# strSQLSell SELECT * FROM tb_bt_daily_tmp_my_stock_pool WHERE stock_code strStock AND bt_ind str(btDaily.intInd)# listSell dbConn.ReturnSQLData(strSQLSell)# if len(listSell) 0 and listSell[0][0] is not None:# btDaily.SellStock(strNowDate, strStock, listSell[0][2], 全部卖了).::::..::::::::.:::::::::::..:::::::::::::::::::::::.::::::::::::::::::::::::....::::::::::::.::::::::::::::::::::::::::::: .:::.:::: ::::: .::::::::..:::: :::: .:::::::::::..::: ::::: .::::::::: :::::..:: :::::.::::::::: :::::..:: :::::::::::::: ::::....::: :::::::::::: ::.:. ::::::::: ::::...::::: :..# 长期来看是否可以买# 针对某个行业的股票listPeriod [720,360,180,90,30,5]strIndustry 银行strEndDate DATE(datetime.datetime.strptime(strNowDate, %Y%m%d)).strftime(%Y-%m-%d)# 计算趋势中间表strSQLTruncate TRUNCATE TABLE TB_BT_MID_DAILY_PERIOD_TRENDdbConn.RunSQLOnce(strSQLTruncate)# 根据不同时间长度如2年、1年、半年等计算股价升降for intCalPeriod in listPeriod:strSQLInsert -- CREATE TABLE TB_BT_MID_DAILY_PERIOD_TREND asINSERT INTO TB_BT_MID_DAILY_PERIOD_TRENDWITH CHECK_STOCK_LIST AS (-- 获取行业对应的所有股票SELECTTS_CODE,NAME,INDUSTRY,EXCHANGEFROMTB_ALL_STOCK_LISTWHERE11AND INDUSTRY strIndustry)SELECTstr(intCalPeriod) AS DAY_GAP,strEndDate AS END_DATE,S_L_O.TS_CODE,S_L_O.NAME,S_L_O.INDUSTRY,S_L_O.EXCHANGE,-- 获取整体的上升下降趋势以及简单统计MIN(TTL_U.TRADE_DAY) AS TRADE_DAY,MIN(TTL_U.MIN_COLSE) AS MIN_COLSE,MIN(TTL_U.MAX_COLSE) AS MAX_COLSE,MIN(TTL_U.MIN_PCT_CHG) AS MIN_PCT_CHG,MIN(TTL_U.MAX_PCT_CHG) AS MAX_PCT_CHG,MIN(TTL_U.DOWN_DAY) AS DOWN_DAY,MIN(TTL_U.UP_DAY) AS UP_DAY,-- 期间内的最早收盘价以及最终收盘价MIN(TTL_U.BEGIN_CLOSE) AS BEGIN_CLOSE,MIN(TTL_U.END_CLOSE) AS END_CLOSE,(MIN(TTL_U.END_CLOSE) / MIN(TTL_U.BEGIN_CLOSE) - 1)*100 AS ALL_PCT_CHG,-- 期间内涨跌的天数占比MIN(TTL_U.UP_DAY) / MIN(TTL_U.TRADE_DAY) AS UP_DAY_PCT,MIN(TTL_U.DOWN_DAY) / MIN(TTL_U.TRADE_DAY) AS DOWN_DAY_PCT,MIN(TTL_U.END_CLOSE_PCT_C) AS END_CLOSE_PCT_CFROM((-- 整体统计趋势SELECTS_DQ.TS_CODE,COUNT(1) AS TRADE_DAY,MIN(S_DQ.CLOSE) AS MIN_COLSE,MAX(S_DQ.CLOSE) AS MAX_COLSE,MIN(S_DQ.PCT_CHG) AS MIN_PCT_CHG,MAX(S_DQ.PCT_CHG) AS MAX_PCT_CHG,COUNT(CASEWHEN S_DQ.PCT_CHG 0 THEN 1ELSE NULLEND) AS DOWN_DAY,COUNT(CASEWHEN S_DQ.PCT_CHG 0 THEN 1ELSE NULLEND) AS UP_DAY,NULL AS BEGIN_CLOSE,NULL AS END_CLOSE,NULL AS END_CLOSE_PCT_CFROMTB_CALENDAR S_TINNER JOIN TB_DAILY_STOCK_QUOTE S_DQON S_T.TRADE_DATE S_DQ.TRADE_DATEINNER JOIN CHECK_STOCK_LIST S_LISTON S_DQ.TS_CODE S_LIST.TS_CODEWHERE11AND S_T.TRADE_DATE_DT strEndDateAND S_T.TRADE_DATE_DT DATE_SUB(strEndDate, INTERVAL str(intCalPeriod) DAY)GROUP BYS_DQ.TS_CODE)UNION ALL(-- 计算时间窗口内最早那天的收盘价SELECTMIN_MID.TS_CODE,NULL AS TRADE_DAY,NULL AS MIN_COLSE,NULL AS MAX_COLSE,NULL AS MIN_PCT_CHG,NULL AS MAX_PCT_CHG,NULL AS DOWN_DAY,NULL AS UP_DAY,MIN_MID.CLOSE AS BEGIN_CLOSE,NULL AS END_CLOSE,NULL AS END_CLOSE_PCT_CFROM(SELECTS_DQ_MIN.TS_CODE,S_DQ_MIN.CLOSE,RANK() OVER(PARTITION BY S_DQ_MIN.TS_CODE ORDER BY S_T_MIN.TRADE_DATE_DT ASC) AS RNKFROMTB_CALENDAR S_T_MININNER JOIN TB_DAILY_STOCK_QUOTE S_DQ_MINON S_T_MIN.TRADE_DATE S_DQ_MIN.TRADE_DATEINNER JOIN CHECK_STOCK_LIST S_LISTON S_DQ_MIN.TS_CODE S_LIST.TS_CODEWHERE11AND S_T_MIN.TRADE_DATE_DT strEndDateAND S_T_MIN.TRADE_DATE_DT DATE_SUB(strEndDate, INTERVAL str(intCalPeriod) DAY)) MIN_MIDWHEREMIN_MID.RNK 1)UNION ALL(-- 计算当前收盘价SELECTMAX_MID.TS_CODE,NULL AS TRADE_DAY,NULL AS MIN_COLSE,NULL AS MAX_COLSE,NULL AS MIN_PCT_CHG,NULL AS MAX_PCT_CHG,NULL AS DOWN_DAY,NULL AS UP_DAY,NULL AS BEGIN_CLOSE,MAX_MID.CLOSE AS END_CLOSE,MAX_MID.PCT_CHG AS END_CLOSE_PCT_CFROM(SELECTS_DQ_MAX.TS_CODE,S_DQ_MAX.CLOSE,S_DQ_MAX.PCT_CHG,RANK() OVER(PARTITION BY S_DQ_MAX.TS_CODE ORDER BY S_T_MAX.TRADE_DATE_DT DESC) AS RNKFROMTB_CALENDAR S_T_MAXINNER JOIN TB_DAILY_STOCK_QUOTE S_DQ_MAXON S_T_MAX.TRADE_DATE S_DQ_MAX.TRADE_DATEINNER JOIN CHECK_STOCK_LIST S_LISTON S_DQ_MAX.TS_CODE S_LIST.TS_CODEWHERE11AND S_T_MAX.TRADE_DATE_DT strEndDateAND S_T_MAX.TRADE_DATE_DT DATE_SUB(strEndDate, INTERVAL str(intCalPeriod) DAY)) MAX_MIDWHEREMAX_MID.RNK 1)) TTL_UINNER JOIN CHECK_STOCK_LIST S_L_OON TTL_U.TS_CODE S_L_O.TS_CODEGROUP BYS_L_O.TS_CODE,S_L_O.NAME,S_L_O.INDUSTRY,S_L_O.EXCHANGEdbConn.RunSQLOnce(strSQLInsert)# 计算趋势strSQLQuote SELECTEND_DATE,TS_CODE,NAME,INDUSTRY,EXCHANGE,MIN(END_CLOSE) AS END_CLOSE,MIN(CASEWHEN DAY_GAP 720 THEN ALL_PCT_CHGELSE NULLEND) AS ALL_PCT_CHG_720,MIN(CASEWHEN DAY_GAP 360 THEN ALL_PCT_CHGELSE NULLEND) AS ALL_PCT_CHG_360,MIN(CASEWHEN DAY_GAP 180 THEN ALL_PCT_CHGELSE NULLEND) AS ALL_PCT_CHG_180,MIN(CASEWHEN DAY_GAP 90 THEN ALL_PCT_CHGELSE NULLEND) AS ALL_PCT_CHG_90,MIN(CASEWHEN DAY_GAP 30 THEN ALL_PCT_CHGELSE NULLEND) AS ALL_PCT_CHG_30,MIN(CASEWHEN DAY_GAP 5 THEN ALL_PCT_CHGELSE NULLEND) AS ALL_PCT_CHG_5,MIN(CASEWHEN DAY_GAP 720 THEN UP_DAY_PCTELSE NULLEND) AS UP_DAY_PCT_720,MIN(CASEWHEN DAY_GAP 360 THEN UP_DAY_PCTELSE NULLEND) AS UP_DAY_PCT_360,MIN(CASEWHEN DAY_GAP 180 THEN UP_DAY_PCTELSE NULLEND) AS UP_DAY_PCT_180,MIN(CASEWHEN DAY_GAP 90 THEN UP_DAY_PCTELSE NULLEND) AS UP_DAY_PCT_90,MIN(CASEWHEN DAY_GAP 30 THEN UP_DAY_PCTELSE NULLEND) AS UP_DAY_PCT_30,MIN(CASEWHEN DAY_GAP 5 THEN UP_DAY_PCTELSE NULLEND) AS UP_DAY_PCT_5,MIN(END_CLOSE_PCT_C) AS END_CLOSE_PCT_CFROMTB_BT_MID_DAILY_PERIOD_TRENDWHERE11AND END_DATE strEndDateGROUP BYEND_DATE,TS_CODE,NAME,INDUSTRY,EXCHANGElistQuote dbConn.ReturnSQLData(strSQLQuote)# 针对不同的股票看整体趋势再看买还是卖for listStockQuote in listQuote:# 买入条件# 1. 比两年前是上升的# 2. 比一年前是上升的# 3. 比一个月前上升更下降的区间在 ± 0.38% 内# 4. 比昨天上涨 0.1% 以上 0.5% 以下if listStockQuote[18] is not None and listStockQuote[6]0 and listStockQuote[7]0 and listStockQuote[10]0.38 and listStockQuote[10]-0.38 and listStockQuote[18]0.1 and listStockQuote[18]0.5:# 判断有没有持仓有则不买strSQLSell SELECT * FROM tb_bt_daily_tmp_my_stock_pool WHERE stock_code listStockQuote[1] AND bt_ind str(btDaily.intInd)listSell dbConn.ReturnSQLData(strSQLSell)if len(listSell) 0 :btDaily.BuyStock(strNowDate, listStockQuote[1], 1000,追涨)# 如果当前下跌 5% 则全卖出if listStockQuote[18] is not None and listStockQuote[18]-0.5 :strSQLSell SELECT * FROM tb_bt_daily_tmp_my_stock_pool WHERE stock_code listStockQuote[1] AND bt_ind str(btDaily.intInd)listSell dbConn.ReturnSQLData(strSQLSell)if len(listSell) 0 and listSell[0][0] is not None:btDaily.SellStock(strNowDate, listStockQuote[1], listSell[0][2], 全部卖了)# 打印快照 btDaily.AssetSnapshot(strMaxDate) 结果 不得不说结果实在让人忧伤我决定就不展示了 反正亏得裤衩都不剩了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91901.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中国十大发布信息网站排名自豪地采用wordpress 删除

CommonJS模块是运行时加载,ES6模块是编译时输出接口 是因为CommonJS加载的是一个对象(module.exports属性),该对象只有在脚本运行结束时才会生成.而ES6模块不是对象,它的对外接口只是一种静态定义,在代码静态解析阶段就会生成. CommonJS模块输出的是一个值的复制,E…

大连网站设计策划网站设计师培训中心

引言: 什么是黑盒测试呢!? 像我一样的测试小白就会望文生义了:对黑盒子测试 那么黑盒子是什么!? 思考5秒后,得出了这样的答案:黑盒子就是黑色的盒子,嘿嘿! 正文&#xf…

专注网站建站网站文章页图片不显示图片

此示例显示了如何使用5G NR下行链路载波波形发生器来创建基带分量载波波形。 介绍 此示例显示了如何使用来参数化和生成5G新无线电(NR)下行链路波形nrWaveformGenerator。可以生成以下通道和信号: PDSCH及其关联的DM-RS和PT-RS PDCCH及其相…

去哪里找空间做网站最新免费网站源码

在Redis中的数据删除策略有三种:定时删除、惰性删除、定期删除 定时删除 当key设置有过期时间,且过期时间到达时,立即执行key的删除操作 优点:节约内存,到时就删除,立即释放不必要的内存占用 缺点&#xf…

泰州网站优化公司网站开发背景怎么写

a int(input()); print(len(str(a))) print(a) 输入: 123 输出: 3 123

网站专题模板下载为什麼建网站要先做数据库

安装 安装很简单,直接在终端输入以下命令即可 sudo apt-get install nasm 安装完成后,如果可以查看到nasm的版本号即可视为安装成功 nasm -version 测试 创建汇编文件 创建一个asm文件 vim hello.asm 文件内容如下 section .datahello: db …

新乡网站建设哪家正规江苏省建设厅网站查询施工员证

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、线程组 线程组…

新建网站外链怎么做知名大型网站搭建公司

web158 知识点: auto_append_file 是 PHP 配置选项之一,在 PHP 脚本执行结束后自动追加执行指定的文件。 当 auto_append_file 配置被设置为一个文件路径时,PHP 将在执行完脚本文件的所有代码后,自动加载并执行指定的文件。 这…

定制网站公司哪家好基金网站建设需求书

http://blog.fens.me/series-nodejs/转载于:https://www.cnblogs.com/chinafbi/p/5394482.html

网站竞价怎么做广州建设工程中心网站

基础知识: 概括: Adobe Photoshop,简称PS,是由美国Adobe Systems开发和发行的图像处理软件。属于再加工型软件,是对很多素材的再次加工处理,并非原创型软件。 功能:Photoshop主要处理以像素构成的位图图像…

网站建设简洁网站建设英语

vue3项目绝对路径重命名后vscode无法提示路径 设置如下: //vite.config.js resolve: {// 绝对路径重命名 @/xxxx => src/xxxxalias: {"@": path.resolve(__dirname, "src"),

wordpress微网站模板seo推广绩效考核指标是什么

视频链接 FPGA-A7板级电源硬件实战01_哔哩哔哩_bilibili FPGA-A7板级电源硬件实战 1、基于A7 板级的系统框图 2、基于A7 板级的电源设计细则 2.1、A7 FPGA功耗评估 Artix-7 FPGA电源有VCCINT, VCCBRAM, VCCAUX, VCCO, VMGTAVCC和VMGTAVTT。 2.1.1、A7 FPGA电源管脚 2.1.2…

企业网站功能对比分析关于网站建设与维护论文

Erlang Rebar 使用指南之四:依赖管理全文目录:本章链接:1 rebar依赖定义Rebar取得和构建符合OTP/Rebar规范的项目。如果项目包含子项目,Rebar会自动递归地构建它们。项目的依赖在project_dir/rebar.config中定义,形式如…

中徽园林建设有限公司网站基金会网站建设方案

一、页面内跳转的锚点设置 页面内的跳转需要两步&#xff1a; 方法一&#xff1a; ①&#xff1a;设置一个锚点链接<a href"#miao">去找喵星人</a>&#xff1b;&#xff08;注意&#xff1a;href属性的属性值最前面要加#&#xff09; ②&#xff1a;在页…

两个女孩子怎么做网站小红书信息流广告

我一直在做一些涉及读取CSV文件的工作&#xff0c;而我一直在使用OpenCSV &#xff0c;而我的最初方法是逐行读取文件&#xff0c;解析内容并将其保存到地图列表中。 当文件的内容适合内存时&#xff0c;此方法有效&#xff0c;但对于较大的文件来说是个问题&#xff0c;在这种…

企业自建网站缺php网站开发编程软件

文章目录 linux 磁盘阵列知识积累配置RAID方案在Linux中配置RAID在其他设备上配置RAID 确认是什么RAID级别cat /proc/mdstat 输出示例mdadm --detail /dev/md0输出示例 如何确认设备是否做了RAID其他方式fdisklsblkpartedlshwlsscsismartctlblkid 不同命令使用场景1.fdisk2.mda…

代帮企业做网站wordpress广告插件汉化

实验名称 实验二 类与对象 实验目的 1. 深刻理解类的封装与继承&#xff1b; 2. 熟练掌握类的定义、包与路径、对象的创建、方法的调用、类的继承、方法的重写、运行时多态、访问权限修饰符的使用等&#xff1b; 3. 熟练运用JDK提供的常用类及API。 实验内容&…

网站建设技术外包删除wordpress主题

public int getSubNum(String a,String b){int num0;String stra;int indexa.indexOf(b);while(index!-1){num;strstr.substring(indexb.length()-1);indexstr.indexOf(b);}return num;}

阳江市做网站开源的网站开发软件

上一篇&#xff1a; 04-了解所有权 结构体&#xff08;struct&#xff09;是一种自定义数据类型&#xff0c;可以将多个相关值打包命名&#xff0c;组成一个有意义的组。如果你熟悉面向对象的语言&#xff0c;那么结构体就像是对象的数据属性。在本章中&#xff0c;我们将对元组…