Commit c537d21c authored by wuyuming's avatar wuyuming

init

parents
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/300-600/300-600.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/打板回测/1-3月/202301-03打板盈利首笔大于500w.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/打板回测/202303-10日未触板1-3月.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/打板回测/202303市值触板.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/打板回测/202303市值触板1-3.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/打板回测/202303打板盈利首笔大于500w.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/打板回测/202303触板.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/打板回测/实盘买入重合.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/集合竞价/集合竞价数据.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/集合竞价数据/2023-04-02.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/集合竞价数据/2023-04-02.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/集合竞价数据/2023-04-11-rate.csv" charset="GBK" />
</component>
</project>
\ No newline at end of file
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.7" project-jdk-type="Python SDK" />
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/打板.iml" filepath="$PROJECT_DIR$/.idea/打板.iml" />
</modules>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="jdk" jdkName="Python 3.7" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
import csv
import os
import time
import numpy as np
import pandas as pd
root='/Users/yumingwu/Downloads/Stk_Day_QFQ/'
path =os.listdir(root)
path.sort()
num =60
with open('./'+'202301-03-2板'+'.csv','w',encoding='gbk',newline='') as csfile:
writer =csv.writer(csfile)
writer.writerow(['代码','日期','昨日收盘价','打板当日开盘价','打板当日最高价','买入价格','卖出价格','盈利','涨幅','流通市值'])
guben = pd.read_excel('../全部A股.xlsx')
for spath in path:
#
if spath.find("SZ0") == -1:
continue
print(spath)
dataS = pd.read_csv(root + spath, encoding='gbk')
dataS['时间'] = pd.to_datetime(dataS['时间'])
data1=dataS[dataS['时间']>=pd.to_datetime('20230101')]
for indexitemn in np.arange(len(data1)):
if indexitemn==len(data1)-1:
continue
itemn=data1.iloc[indexitemn]
itemn1 = data1.iloc[indexitemn+1]
data=dataS[dataS['时间']<itemn['时间']]
data = data.iloc[len(data) - num - 1:len(data)]
maxPrice=data['最高价'].max()
zhangtingflag=0;
if (len(data) < num + 1):
continue
# for i in np.arange(len(data)):
# if i > 0:
# item0 = data.iloc[i - 1]
# item1 = data.iloc[i]
# if item1['最高价'] / item0['收盘价'] > 1.098:
# zhangtingflag = 1
# break
# if(zhangtingflag==1):
# continue
data = data.iloc[len(data) - 6:len(data)]
zhangting = 1
for i in np.arange(len(data)):
if i > 0:
item0 = data.iloc[i - 1]
item1 = data.iloc[i]
if item1['收盘价'] / item0['收盘价'] > 1.098 and i<5:
zhangting = 1
break
if item1['收盘价'] / item0['收盘价'] > 1.098 and i==5:
zhangting = 0
break
if zhangting == 0:
item = data.iloc[-1]
# if zhangfu >= 1.15:
# continue
code = item['代码'][2:8] + "." + item['代码'][0:2]
gubenitem = guben[guben['证券代码'] == code]
if len(gubenitem) == 0:
continue
gubenitem = gubenitem.iloc[0]
shizhi = gubenitem['流通A股'] * item['收盘价'] / 100000000.0
# if shizhi > 200:
# continue
if itemn['最高价'] / item['收盘价'] > 1.098 and itemn['最高价']>maxPrice:
writer.writerow([itemn['代码'],
itemn['时间'],
item['收盘价'],
itemn['最高价'],
itemn['开盘价'],
itemn['最高价'],
itemn1['开盘价'],
50000*(itemn1['开盘价']/ itemn['最高价']-1-0.0014),
itemn1['开盘价'] / itemn['最高价']-1,
shizhi
])
代码,买入日期,买入价格,卖出日期,卖出价格,涨幅,盈利,名称
SH688416,20230411,77,2023/4/12 0:00,76.09,-0.011818182,-660.9090909,
SH600326,20230413,6.61,2023/4/14 0:00,7.29,0.102874433,5073.721634,
SH600706,20230413,19.02,2023/4/14 0:00,20.93,0.10042061,4951.030494,
SH600228,20230413,14.6,2023/4/14 0:00,14.25,-0.023972603,-1268.630137,
SH605168,20230413,179.3,2023/4/14 0:00,173,-0.035136642,-1826.832125,
SH603138,20230413,29.12,2023/4/14 0:00,28.92,-0.006868132,-413.4065934,
SH601949,20230413,7.7,2023/4/14 0:00,7.7,0,-70,
SH603096,20230413,28.07,2023/4/14 0:00,25.76,-0.082294264,-4184.713217,
SH601900,20230413,11.44,2023/4/14 0:00,11.09,-0.030594406,-1599.72028,
SH600757,20230413,7.78,2023/4/14 0:00,7.42,-0.046272494,-2383.624679,
SH600749,20230413,14.9,2023/4/14 0:00,15.2,0.020134228,936.7114094,
SH600556,20230414,9.82,2023/4/17 0:00,9.1,-0.073319756,-3735.98778,
SH600248,20230414,5.58,2023/4/17 0:00,6,0.075268817,3693.44086,
SH603690,20230414,45.12,2023/4/17 0:00,46.98,0.041223404,1991.170213,
SH603005,20230414,28.5,2023/4/17 0:00,29.5,0.035087719,1684.385965,
SH600629,20230414,6.2,2023/4/17 0:00,6.16,-0.006451613,-392.5806452,
SH600301,20230417,20.7,2023/4/18 0:00,20.76,0.002898551,74.92753623,
SH603508,20230418,20.88,2023/4/19 0:00,20.05,-0.039750958,-2057.547893,
SH605589,20230418,22.19,2023/4/19 0:00,22,-0.008562416,-498.1207751,
SH600062,20230421,19.95,2023/4/24 0:00,20.8,0.042606516,2060.325815,
SH603999,20230424,7.25,2023/4/25 0:00,7.81,0.077241379,3792.068966,
SH601999,20230424,7.72,2023/4/25 0:00,7.94,0.028497409,1354.870466,
SH603191,20230426,20.27,2023/4/27 0:00,20.5,0.011346818,497.3408979,
SH601019,20230426,10.18,2023/4/27 0:00,10.77,0.057956778,2827.8389,
SH600229,20230427,9.24,2023/4/28 0:00,8.65,-0.063852814,-3262.640693,
SH603636,20230427,17.08,2023/4/28 0:00,16.69,-0.022833724,-1211.686183,
SH600833,20230427,12.15,2023/4/28 0:00,12.24,0.007407407,300.3703704,
SZ300846,20230411,20.57,2023/4/12 0:00,20.91,0.016528926,756.446281,
SZ300364,20230411,25.78,2023/4/12 0:00,26.88,0.042668735,2063.436773,
SZ301052,20230411,52.33,2023/4/12 0:00,54.7267,0.045799732,2219.986623,
SZ300766,20230411,26,2023/4/12 0:00,25,-0.038461538,-1993.076923,
SZ300042,20230411,28.3,2023/4/12 0:00,27.24,-0.03745583,-1942.791519,
SZ300188,20230411,27.3,2023/4/12 0:00,27,-0.010989011,-619.4505495,
SZ300567,20230412,83,2023/4/13 0:00,91,0.096385542,4749.277108,
SZ300458,20230412,37.11,2023/4/13 0:00,36,-0.029911075,-1565.553759,
SZ300925,20230414,17.52,2023/4/17 0:00,18.68,0.066210046,3240.502283,
SZ301185,20230424,27,2023/4/25 0:00,26.66,-0.012592593,-699.6296296,
SZ300624,20230425,130,2023/4/26 0:00,133.21,0.024692308,1164.615385,
SZ300364,20230426,25.74,2023/4/27 0:00,24.02,-0.066822067,-3411.103341,
SZ300533,20230426,69,2023/4/27 0:00,63.41,-0.081014493,-4120.724638,
SZ300456,20230427,20.5,2023/4/28 0:00,19.91,-0.028780488,-1509.02439,
SZ300456,20230508,21.57,20230509,22.12,0.025498377,1204.918869,赛微电子
SH603128,20230508,10.87,20230509,10.45,-0.038638454,-2001.922723,华贸物流
SZ300075,20230508,27.99,20230509,30.66,0.095391211,4699.560557,数字政通
SZ300130,20230508,21,20230509,20.69,-0.014761905,-808.0952381,新国都
SH600711,20230508,5.83,20230509,5.79,-0.006861063,-413.0531732,盛屯矿业
代码,买入日期,买入价格,卖出日期,卖出价格,涨幅,盈利,名称
SH688416,20230411,77,2023/4/12 0:00,76.09,-0.011818182,-660.9090909,
SH600326,20230413,6.61,2023/4/14 0:00,7.29,0.102874433,5073.721634,
SH600706,20230413,19.02,2023/4/14 0:00,20.93,0.10042061,4951.030494,
SH600228,20230413,14.6,2023/4/14 0:00,14.25,-0.023972603,-1268.630137,
SH605168,20230413,179.3,2023/4/14 0:00,173,-0.035136642,-1826.832125,
SH603138,20230413,29.12,2023/4/14 0:00,28.92,-0.006868132,-413.4065934,
SH601949,20230413,7.7,2023/4/14 0:00,7.7,0,-70,
SH603096,20230413,28.07,2023/4/14 0:00,25.76,-0.082294264,-4184.713217,
SH601900,20230413,11.44,2023/4/14 0:00,11.09,-0.030594406,-1599.72028,
SH600757,20230413,7.78,2023/4/14 0:00,7.42,-0.046272494,-2383.624679,
SH600749,20230413,14.9,2023/4/14 0:00,15.2,0.020134228,936.7114094,
SH600556,20230414,9.82,2023/4/17 0:00,9.1,-0.073319756,-3735.98778,
SH600248,20230414,5.58,2023/4/17 0:00,6,0.075268817,3693.44086,
SH603690,20230414,45.12,2023/4/17 0:00,46.98,0.041223404,1991.170213,
SH603005,20230414,28.5,2023/4/17 0:00,29.5,0.035087719,1684.385965,
SH600629,20230414,6.2,2023/4/17 0:00,6.16,-0.006451613,-392.5806452,
SH600301,20230417,20.7,2023/4/18 0:00,20.76,0.002898551,74.92753623,
SH603508,20230418,20.88,2023/4/19 0:00,20.05,-0.039750958,-2057.547893,
SH605589,20230418,22.19,2023/4/19 0:00,22,-0.008562416,-498.1207751,
SH600062,20230421,19.95,2023/4/24 0:00,20.8,0.042606516,2060.325815,
SH603999,20230424,7.25,2023/4/25 0:00,7.81,0.077241379,3792.068966,
SH601999,20230424,7.72,2023/4/25 0:00,7.94,0.028497409,1354.870466,
SH603191,20230426,20.27,2023/4/27 0:00,20.5,0.011346818,497.3408979,
SH601019,20230426,10.18,2023/4/27 0:00,10.77,0.057956778,2827.8389,
SH600229,20230427,9.24,2023/4/28 0:00,8.65,-0.063852814,-3262.640693,
SH603636,20230427,17.08,2023/4/28 0:00,16.69,-0.022833724,-1211.686183,
SH600833,20230427,12.15,2023/4/28 0:00,12.24,0.007407407,300.3703704,
SZ300846,20230411,20.57,2023/4/12 0:00,20.91,0.016528926,756.446281,
SZ300364,20230411,25.78,2023/4/12 0:00,26.88,0.042668735,2063.436773,
SZ301052,20230411,52.33,2023/4/12 0:00,54.7267,0.045799732,2219.986623,
SZ300766,20230411,26,2023/4/12 0:00,25,-0.038461538,-1993.076923,
SZ300042,20230411,28.3,2023/4/12 0:00,27.24,-0.03745583,-1942.791519,
SZ300188,20230411,27.3,2023/4/12 0:00,27,-0.010989011,-619.4505495,
SZ300567,20230412,83,2023/4/13 0:00,91,0.096385542,4749.277108,
SZ300458,20230412,37.11,2023/4/13 0:00,36,-0.029911075,-1565.553759,
SZ300925,20230414,17.52,2023/4/17 0:00,18.68,0.066210046,3240.502283,
SZ301185,20230424,27,2023/4/25 0:00,26.66,-0.012592593,-699.6296296,
SZ300624,20230425,130,2023/4/26 0:00,133.21,0.024692308,1164.615385,
SZ300364,20230426,25.74,2023/4/27 0:00,24.02,-0.066822067,-3411.103341,
SZ300533,20230426,69,2023/4/27 0:00,63.41,-0.081014493,-4120.724638,
SZ300456,20230427,20.5,2023/4/28 0:00,19.91,-0.028780488,-1509.02439,
SZ300456,20230508,21.57,20230509,21.56,-0.000463607,-93.18034307,赛微电子
SH603128,20230508,10.87,20230509,10.9,0.00275989,67.99448022,华贸物流
SZ300075,20230508,27.99,20230509,30.67,0.095748482,4717.42408,数字政通
SZ300130,20230508,21,20230509,20.74,-0.012380952,-689.047619,新国都
SH600711,20230508,5.83,20230509,5.9,0.012006861,530.3430532,盛屯矿业
SH600710,20230509,8.13,20230510,8.13,0,-70,苏美达
import csv
import os
import time
import numpy as np
import pandas as pd
root='/Users/yumingwu/Desktop/prelog_300_600/'
path =os.listdir(root)
path.sort()
root1='/Users/yumingwu/Downloads/Stk_Day_QFQ/'
with open('./300-600.csv','w',encoding='gbk',newline='') as csfile:
writer =csv.writer(csfile)
writer.writerow(['代码','买入日期','买入价格','卖出日期','卖出价格','涨幅','盈利'])
for spath in path:
if spath.find('pre')==-1:
continue
day=spath[len(spath)-4-8:len(spath)-4]
print(day)
data= pd.read_table(root+spath)
rows=[]
for item in data.iterrows():
s=item[1][0]
if s.find('[INF]buy')!=-1:
s= s.split(',')
code=s[0]
price = s[2]
price=float(price)
code=code[len(code)-6:len(code)]
if code in rows:
continue
rows.append(code)
if int(code)>600000:
code='SH'+code
else:
code = 'SZ' + code
codedata= pd.read_csv(root1+code+'.csv',encoding='gbk')
codedata['时间']=pd.to_datetime(codedata['时间'])
codedata=codedata[codedata['时间']>pd.to_datetime(day)]
if len(codedata)==0:
continue
codeitem = codedata.iloc[0]
writer.writerow([codeitem['代码'], day, price, codeitem['时间'], codeitem['开盘价'], codeitem['开盘价']/price-1, (codeitem['开盘价']/price-1-0.0014)*50000])
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
代码,时间,汇率
USDC/USDT,2023-04-14 08:17:37,0.9988418460999999
ETH/USDT,2023-04-14 08:17:38,2012.4891688243495
ETH/USDT,2023-04-14 08:17:38,2012.333554229836
ETH/USDT,2023-04-14 08:17:38,2014.3134755490532
WETH/USDC,2023-04-14 08:17:42,2014.9213982375893
WETH/USDC,2023-04-14 08:17:51,2014.918915959785
WETH/USDC,2023-04-14 08:17:51,2014.9165650670877
WETH/USDC,2023-04-14 08:18:05,2014.9110941015977
WETH/USDC,2023-04-14 08:18:14,2014.9051495428475
WETH/USDC,2023-04-14 08:18:26,2014.9001992574622
WETH/USDC,2023-04-14 08:18:41,2014.896751091703
WETH/USDC,2023-04-14 08:18:41,2014.8889759663477
WETH/USDC,2023-04-14 08:18:51,2014.8791023588408
WETH/USDC,2023-04-14 08:19:15,2014.8757280940317
WETH/USDC,2023-04-14 08:19:39,2014.8734391584496
import csv
import datetime
import os
import socketserver
import time
import urllib
from http.server import HTTPServer, BaseHTTPRequestHandler
import json
import string
import joblib
import pandas as pd
day = time.strftime('%Y-%m-%d', time.localtime(time.time()))
if os.path.exists('./'+day + ".csv")==False:
with open('./' + day + ".csv", 'a+', newline='', encoding='utf-8') as csvfile:
csv_write = csv.writer(csvfile)
csv_write.writerow(['代码', '时间', '汇率'])
# a+表示以追加模式写入,如果用w会覆盖掉原来的数据。如果没有newline='',则逐行写入的数据相邻行之间会出现一行空白。读者可以自己试一试。
class TestHTTPHandle(BaseHTTPRequestHandler):
# dataTick = pd.read_csv(yesterday,encoding='utf-8')
# gbm_500 = joblib.load('500model.txt')
def do_GET(self):
if self.path.find('code') != -1:
self.queryString = urllib.parse.unquote(self.path.split('?', 1)[1])
params = urllib.parse.parse_qs(self.queryString)
code = params['code'][0]
rate = params['rate'][0]
ctime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
with open('./' + day + ".csv", 'a+', newline='', encoding='utf-8') as csvfile:
csv_write = csv.writer(csvfile)
csv_write.writerow([code, ctime, rate])
self.send_response(200,message='122') # 应答机制,接收到消息后,响应服务端,告知服务端已经收到消息,避免消息重复发送
self.send_header('Content-type', 'application/json')
self.end_headers()
self.wfile.write('123'.encode('gbk'))
# http://183.194.213.36:58588/?dateTimeStamp=1546392660.0&lastIndex=4173.74
def start_server(port):
# 0.0.0.0 映射测试机器的公网地址、在回掉地址测和订阅测,配置对应机器的公务地址
#
# http_server = HTTPServer(('0.0.0.0', int(port)), TestHTTPHandle)
http_server = socketserver.TCPServer(('0.0.0.0', int(port)), TestHTTPHandle)
# http_server.server_close()
http_server.serve_forever()
if __name__ == '__main__':
start_server(8888)
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
#!/Users/yumingwu/PycharmProjects/打板/venv/bin/python -x
# EASY-INSTALL-ENTRY-SCRIPT: 'setuptools==40.8.0','console_scripts','easy_install'
__requires__ = 'setuptools==40.8.0'
import re
import sys
from pkg_resources import load_entry_point
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(
load_entry_point('setuptools==40.8.0', 'console_scripts', 'easy_install')()
)
#!/Users/yumingwu/PycharmProjects/打板/venv/bin/python -x
# EASY-INSTALL-ENTRY-SCRIPT: 'setuptools==40.8.0','console_scripts','easy_install-3.7'
__requires__ = 'setuptools==40.8.0'
import re
import sys
from pkg_resources import load_entry_point
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(
load_entry_point('setuptools==40.8.0', 'console_scripts', 'easy_install-3.7')()
)
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
python3.7
\ No newline at end of file
python3.7
\ No newline at end of file
/usr/local/bin/python3.7
\ No newline at end of file
./setuptools-40.8.0-py3.7.egg
./pip-19.0.3-py3.7.egg
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment