<?php
include 'sql.php';
// 全局变量定义
$lazhu_json_string = array(); // 蜡炬图
$AllTrade = array();
$TradeDate;
$start_date_index_array = array();
$end_date_index_array = array();
$s_array = array();
$start_time_array = array();
$end_time_array = array();
$MonthlyReturns_array = array();
$Test_date = array();
$monthxishu = array();
$k1 = array();
$k2 = array();
$sx_rate = 0.0005; // 手续费率 万分之五
$yh_rate = 0.001; // 印花费率 千分之一
$Money = (float)1000000; // 可买卖的金钱总额
$newSql = new SQLClass(); // 先连接数据库
$TradeDate = $newSql->getTradeTime(); // 将交易日期存在数组中
/**********************************************************************
* 功能:获取指定日期的所有满足条件的 : 股票代码,开盘价格,开盘时间
* @param $Day 指定日期
* @return 股票代码,开盘价格,开盘时间
*********************************************************************/
function selectOneDayInfor($Day, $orderRule)
{
// echo "ada".$orderRule."<br/>";
global $newSql;
$result = $newSql->selectCode($Day, $orderRule); // 调用sql
if ($result != null) {
return $result;
}
}
/**********************************************************************
* 功能:根据$股票代码,$卖出时间 获取卖出价
* @param $Day 指定日期
* @return $卖出时间 获取卖出价
*********************************************************************/
function afterHoldTime($TsCode, $SellTime)
{
global $newSql;
// 调用函数,从数据库中获取数据:
$result = $newSql->selectSellInfor($TsCode, $SellTime);
if ($result != null) {
$close = $result[0]["close"];
$trade_date = $result[0]["trade_date"];
$result2 = array("Close" => $close, "trade_date" => $trade_date);
return $result2;
} else {
$result2 = array();
return $result2;
}
}
/**********************************************************************
* 功能:计算卖出的信息
* @param 股票代码 开盘价 买入时间 持股周期
* @return
*********************************************************************/
function SellPrice($TsCode, $Open, $StartTime, $HoldTime, $KeepHoldProfit, $HighestFall, $StopLoseProfit)
{
global $TradeDate;
// 先找到什么时候开市
while (array_search($StartTime, $TradeDate) == null) {
$time = strtotime($StartTime);
$StartTime = date("Y-m-d", strtotime("+1 day", $time));
}
$cur = array_search($StartTime, $TradeDate); // 买入时间的下标
$cur = $cur + 1; // 开始可以卖出的第一天
$TempHoldTime = $HoldTime - 1;
if ($TempHoldTime == 0)
$TempHoldTime++;
// 这是需要止损情况
while ($TempHoldTime) {
// 传进空值
// if($TempHoldTime== -1){
// break;
// }
$TempHoldTime = $TempHoldTime - 1;
// var_dump($TradeDate[$cur]);
$SellTime = $TradeDate[$cur]; // 开市时间
$result = afterHoldTime($TsCode, $SellTime);
while ($result == null) // 这种情况是:股票有交易,但是这只股票没有交易???
{
$cur = $cur + 1;
$SellTime = $TradeDate[$cur]; // 下一个交易日
$result = afterHoldTime($TsCode, $SellTime);
}
$temp_close = $result["Close"]; //隐藏警告问题
if ($Open == 0) { // 开盘价为0的处理
$Open = $Open + 0.1;
}
$temp_updownrate = (($temp_close - $Open) / $Open) * 100; // 因为传进来的是百分制的数值
if ($temp_updownrate < $StopLoseProfit) {
$result2 = array("SellTime" => $SellTime, "Close" => $temp_close);
return $result2;
}
$cur++;
}
// 正常涨跌幅,这里的temp_updownrate已经是正常卖出时间的
if (@$temp_updownrate < @$KeepHoldProfit) {
@$result2 = array("SellTime" => @$SellTime, "Close" => @$temp_close);
return @$result2;
}
// 这是需要止盈情况
else {
$temp_max_updownrate = $temp_updownrate;
$count = 500;
while ($count--) {
$SellTime = $TradeDate[$cur]; // 寻找下一天的开市时间
// $flag =0;
// 因为前面循环有算过一次
$result = afterHoldTime($TsCode, $SellTime);
while ($result == null) // 这种情况是:股票有交易,但是这只股票没有交易
{
$SellTime = $TradeDate[$cur]; // 下一个交易日
$cur = $cur + 1;
$result = afterHoldTime($TsCode, $SellTime);
}
$cur++; // 防止多算
$temp_close = $result["Close"];
if ($Open == 0) {
$Open = $Open + 0.1;
}
$temp_rate = (($temp_close - $Open) / $Open) * 100; // 因为传进来的是百分制的数值
if ($temp_max_updownrate - $temp_rate > $HighestFall) { // 如果涨跌幅之差大于最高回落
$result2 = array("SellTime" => $SellTime, "Close" => $temp_close);
return $result2;
} else {
if ($temp_rate > $temp_max_updownrate) {
$temp_max_updownrate = $temp_rate; // 更新涨跌幅的最大值
}
}
}
}
}
/*********************************************************************
* 功能:根据股票代码和买入时间获取相关的股票信息
* parms:股票代码 买入时间
* return:买入的相关信息:股票代码,买入时间,股票名称
*********************************************************************/
function BuyInfor($TsCode, $BuyTime)
{
global $newSql;
$result = $newSql->select_Buyinfor($TsCode, $BuyTime);
$data = array();
$data["ts_code"] = $result["ts_code"];
$data["open"] = $result["open"];
$data["trade_date"] = $result["trade_date"];
$data["name"] = $result["name"];
$data["close"] = $result["close"];
return $data;
}
/*********************************************************************
* 功能:根据股票代码和买入时间获取相关的股票信息
* parms:股票代码 买入时间
* return:买入的相关信息:股票代码,买入时间,股票名称,vol,收盘价,最低价 最高价
*********************************************************************/
function BuyInfor2($TsCode, $BuyTime)
{
global $newSql;
$result = $newSql->select_Buyinfor2($TsCode, $BuyTime);
$data = array();
//$data["ts_code"] = $result["ts_code"];
$data["trade_date"] = strtotime($result["trade_date"]) * 1000;
$data["open"] = (float)$result["open"];
$data["high"] = (float)$result["high"];
$data["low"] = (float)$result["low"];
$data["close"] = (float)$result["close"];
$data["vol"] = (float)$result["vol"];
//转换为时间戳
$xxx = strtotime($result["trade_date"]) * 1000;
return $data;
}
/*********************************************************************
* 功能:根据股票代码与某个时间获取其前20天与后10天的数据
* parms:股票代码 时间
* return:
*********************************************************************/
function get_information($ts_code, $day)
{
global $TradeDate;
$numb = 0;
$cur = array_search($day, $TradeDate); // 获得买入时间的下标
// $cur1 = array_search($SellTime, $TradeDate);
//得到前20天股票到信息
for ($n = $cur; $n > $cur - 20; $n--) {
$day = $TradeDate[$n];
$LaZhu1[$numb] = BuyInfor2($ts_code, $day);
$numb++;
}
//得到后10天到股票信息
for ($n = $cur; $n < $cur + 10; $n++) {
$day = $TradeDate[$n];
$LaZhu2[$numb] = BuyInfor2($ts_code, $day);
$numb++;
没有合适的资源?快使用搜索试试~ 我知道了~
Python量化交易策略及回测系统.zip
共82个文件
json:54个
php:14个
xml:3个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 26 下载量 88 浏览量
2023-02-03
15:17:19
上传
评论 23
收藏 1.38MB ZIP 举报
温馨提示
Python量化交易策略及回测系统-,95分以上高分项目,下载即可使用,无需修改。 Python量化交易策略及回测系统-,95分以上高分项目,下载即可使用,无需修改。Python量化交易策略及回测系统-,95分以上高分项目,下载即可使用,无需修改。Python量化交易策略及回测系统-,95分以上高分项目,下载即可使用,无需修改。Python量化交易策略及回测系统-,95分以上高分项目,下载即可使用,无需修改。Python量化交易策略及回测系统-,95分以上高分项目,下载即可使用,无需修改。Python量化交易策略及回测系统-,95分以上高分项目,下载即可使用,无需修改。Python量化交易策略及回测系统-,95分以上高分项目,下载即可使用,无需修改。Python量化交易策略及回测系统-,95分以上高分项目,下载即可使用,无需修改。Python量化交易策略及回测系统-,95分以上高分项目,下载即可使用,无需修改。Python量化交易策略及回测系统-,95分以上高分项目,下载即可使用,无需修改。Python量化交易策略及回测系统-,95分以上高分项目,下载即可使用,无需修改。Pytho
资源推荐
资源详情
资源评论
收起资源包目录
Python量化交易策略及回测系统.zip (82个子文件)
quantitative-back-test-items-master
BackTest
show.html 6KB
2.html 4KB
333333.html 4KB
test.json 234B
show_avg_income.php 7KB
for_increment.php 22KB
train.json 233B
image
banner.png 1.04MB
banner.jpg 85KB
1.png 683B
logo.jpg 19KB
increment.php 10KB
test_all.php 16KB
sql.php 10KB
.idea
codeStyles
codeStyleConfig.xml 149B
backTestNew.iml 281B
workspace.xml 4KB
modules.xml 274B
show.css 232KB
for_only_train.php 4KB
css
H-ui.css 228KB
Test_date.json 4KB
3.php 6KB
bkdm_test.json 11KB
for_test_all.php 11KB
only_train.php 14KB
bkdm_train.json 11KB
lazhu.php 290B
line33.php 3KB
json
8_mouth_test.json 129B
polocy1_30_Profit.json 467B
2_year_policy1_60.json 800B
1_year_policy2_30.json 543B
polocy1_5_Profit.json 1KB
7_mouth_polocy1_30.json 829B
bkdm_Profit.json 1KB
polocy1_60_test.json 476B
polocy1_10_Profit.json 477B
1_year_policy1_30.json 561B
polocy2_5_test.json 462B
polocy2_30_test.json 981B
Profit.json 1KB
1_year_stockCode.json 550B
polocy1_20_Profit.json 472B
polocy2_60_test.json 472B
7_mouth_test.json 130B
1_year_stockCode_avg_income.json 40KB
polocy2_20_test.json 463B
2_year_stockCode.json 802B
2_year_policy1_20.json 789B
7_mouth_polocy2_30.json 807B
9_mouth_test.json 128B
7_mouth_avg_income.json 31KB
2_year_policy1_30.json 802B
polocy2_10_test.json 464B
2_year_policy2_30.json 778B
avg_income.json 31KB
6_mouth_test.json 129B
for_test_all_year.php 10KB
chooseOneStock.php 59KB
train_data
polocy2_60_train.json 8KB
polocy1_10_train.json 4KB
polocy2_20_train.json 4KB
polocy1_5_test.json 11KB
polocy1_60_test.json 4KB
polocy2_5_test.json 4KB
polocy2_30_test.json 8KB
polocy1_30_train.json 4KB
polocy2_60_test.json 8KB
polocy1_5_train.json 11KB
polocy2_10_train.json 4KB
polocy1_20_train.json 4KB
polocy2_20_test.json 4KB
polocy1_10_test.json 4KB
polocy2_5_train.json 4KB
polocy1_30_test.json 4KB
polocy1_20_test.json 4KB
polocy2_10_test.json 4KB
polocy2_30_train.json 8KB
polocy1_60_train.json 4KB
showTrainDate.php 16KB
.gitignore 430B
共 82 条
- 1
不安分的小女孩
- 粉丝: 9078
- 资源: 1951
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
前往页