日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

海龟交易代码java_海龟交易算法,实现量化交易(1)数据获取

發布時間:2025/3/19 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 海龟交易代码java_海龟交易算法,实现量化交易(1)数据获取 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天看到一篇雪球文章叫海龜交易法

大概思路是通過回看20天的盤中最高和10天內盤中最低,結合前一天收盤價制定的交易策略。

想自己編程試試看。

第一步是取得數據,因為一直用雪球,感覺上可以從雪球上獲取數據。于是打開chrome用F12找到雪球日K里面的數據源,和我預期的一致,是JSON格式的。那就好辦了,把URL粘貼出來

https://xueqiu.com/stock/forchartk/stocklist.json?symbol=SH600000&period=1day&type=after&begin=1434173957486&end=1465709957486&_=1465709957486

一開始想要用linux shell直接執行wget獲取,但發現不行,雪球設置了必須登錄才能獲取數據。

Linux shell顯然是不支持登錄后下載的,必須考慮用其他語言實現,找了一圈,php似乎是最簡單的,利用CURL包可以模擬瀏覽器操作。

檢查了雪球的登錄界面,找到了登錄的URL https://xueqiu.com/user/login , 登錄需要提供參數,參數名稱花了一段時間,一開始直接用username和password,發現不行,于是去截包,發現用手機登錄應該是telephone和password,登錄代碼如下

$curl = curl_init();

$cookie_jar = tempnam('./tmp','cookie');

curl_setopt($curl, CURLOPT_URL,'https://xueqiu.com/user/login');

curl_setopt($curl, CURLOPT_POST, 1);

$request = 'telephone=$phoneno&password=$password';

curl_setopt($curl, CURLOPT_POSTFIELDS, $request);

curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_jar);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($curl, CURLOPT_HEADER, false);

curl_setopt($curl, CURLOPT_NOBODY, false);

curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);

$content = curl_exec($curl);

print($cookie_jar);

print($content);

Bingo 登錄成功>接下來用Curl取剛才的那個URL順利獲得的JSON.

接下來是處理URL動態參數,分析這個URL:https://xueqiu.com/stock/forchartk/stocklist.json?symbol=SH600000&period=1day&type=after&begin=1434173957486&end=1465709957486&_=1465709957486

可以看到前面https://xueqiu.com/stock/forchartk/stocklist.json?symbol=SH600000 這一段大概是取SH600000這個股票,后面的period=1day 就是按天取數據,type=after 默認應該是后復權,begin end 和&_參數看起來像是unix 時間戳。但仔細一看好像后面多了3位數字,不知道是干什么的,試試都加上000看看

于是有了這段代碼:

$ts=time();

$start_date=strtotime("-1 week");

$url='https://xueqiu.com/stock/forchartk/stocklist.json?symbol='.$stockno.'&period='.$period.'&type='.$type.'&begin='.$start_date.'000&end='.$ts.'000'.'&_='.$ts.'000';

把這兩段代碼略作整合,得到了一個function 如下,默認取當前日期一周內的數據。

Function getStock($stockno,$type,$period){

print('printing:'.$stockno);

$curl = curl_init();

$cookie_jar = tempnam('./tmp','cookie');

curl_setopt($curl, CURLOPT_URL,'https://xueqiu.com/user/login');

curl_setopt($curl, CURLOPT_POST, 1);

$request = 'telephone=$phoneno&password=$password';

curl_setopt($curl, CURLOPT_POSTFIELDS, $request);

curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_jar);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($curl, CURLOPT_HEADER, false);

curl_setopt($curl, CURLOPT_NOBODY, false);

curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);

$content = curl_exec($curl);

//print($cookie_jar);

//print($content);

curl_close($curl);

$curl2 = curl_init();

$ts=time();

$start_date=strtotime("-1 week");

$url='https://xueqiu.com/stock/forchartk/stocklist.json?symbol='.$stockno.'&period='.$period.'&type='.$type.'&begin='.$start_date.'000&end='.$ts.'000'.'&_='.$ts.'000';

curl_setopt($curl2, CURLOPT_URL, $url);

curl_setopt($curl2, CURLOPT_HEADER, false);

curl_setopt($curl2, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($curl2, CURLOPT_COOKIEFILE, $cookie_jar);

$content = curl_exec($curl2);

print_r($content);

return content;

}

getstock('SH600000','normal','1day');

發現可以獲取,但數據似乎比預期的要多,但也沒什么關系,可能和URL參數的理解有關系,不過沒關系,至少第一步獲取數據的任務完成了.接下來需要將這些數據存儲到數據庫中,以便后續的分析和處理。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的海龟交易代码java_海龟交易算法,实现量化交易(1)数据获取的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。