创建widget
1. 定义方法
def predictAll(tickers, startdt='36', enddt = 'today', predictdays = 1):
if enddt == 'today':
enddt = datetime.date.today().strftime('%Y-%m-%d') if len(startdt) < 4:
startdt = (datetime.date.today() - datetime.timedelta(int(startdt) * 365 / 12)).isoformat() result = [] for ticker in tickers:
try:
df = sdk.getHist([ticker], startdt, enddt) #.query("isopen==1")
# print df
except:
msg = 'ticker ' + ticker
# print msg
else:
dfochl = df[['open','close','high','low']].as_matrix()
x = dfochl[:-predictdays] dfh = df[['high']].as_matrix()
yh = dfh[predictdays :] dfl = df[['low']].as_matrix()
yl = dfl[predictdays :] dfo = df[['open']].as_matrix()
yo = dfo[predictdays :] dfc = df[['close']].as_matrix()
yc = dfc[predictdays :] x2 = dfochl[-predictdays:] mh = LinearRegression()
mh.fit(x, yh)
yh2 = mh.predict(x2) ml = LinearRegression()
ml.fit(x, yl)
yl2 = ml.predict(x2) mo = LinearRegression()
mo.fit(x, yo)
yo2 = mo.predict(x2) mc = LinearRegression()
mc.fit(x, yc)
yc2 = mc.predict(x2) name = df['sec_short_name'][0]
i = 0
while i < predictdays:
ret = {
'Day': 'Day ' + str(i + 1),
'Ticker': ticker,
'Name': name,
'High': str(round(yh2[i],2)),
'Low': str(round(yl2[i],2)),
'Open': str(round(yo2[i],2)),
'Close': str(round(yc2[i],2))
} result.append(ret) i += 1 return result
2. 定义接口
# GET /sensitop/api/v1/analyzers/regression import RegessionAnalyzer as regession
import logging # REQUEST = json.dumps({
# 'path' : {},
# 'args' : {'tickers':['000078,600048'], 'startdt':['2016-01-01'], 'enddt':['2016-12-30'],
# 'predictdays':['2']}
# }) def __0014__(request): logging.warning(request)
tickers = getFirstParam(request, "tickers").strip().split(',')
startdt = getFirstParam(request, "startdt")
enddt = getFirstParam(request, "enddt")
enddt = __notFuture__(enddt)
predictdays = getFirstParam(request, "predictdays")
# print tickers
return json.dumps(regession.predictAll(tickers, startdt, enddt, int(predictdays))) print __0014__(json.loads(REQUEST))
3. 定义widget接口
# GET /sensitop/widgets/predict uid = __getUId__()
template = open(__templateRootPath__ + "predict.html")
try:
html = template.read().format(endpoint = "waima.imwork.net:16301",
tickers = "__tickers__%s" %uid,
startdt = '__startdt__%s' %uid,
enddt = '__enddt__%s' %uid,
predictdays = '__predictdays__%s' %uid,
btnSubmit = "__btnSubmit__%s" %uid,
id = "__id__%s" %uid,
btnHideOptions = "__btnHideOptions__%s" %uid,
pnlOptions = "__pnlOptions__%s" %uid,
dt_basic = "__dt_basic__%s" %uid,
results = "__results__%s" %uid
)
print html
finally:
template.close()
4. 定义widget页面
行情走势预测
行情走势预测,输入股票代码,系统会根据回归算法对该股票走势进行预测。
| 第几天 | 股票代码 | 股票名称 | 最高价 | 最低价 | 开盘价 | 收盘价 |
|---|
创建widget的更多相关文章
- qt——for循环里创建widget
在for循环里创建 widget,比如test类 不能使用 test t; 而要使用 test t = new test(): for (i=0;i<=3;i++) { QPushButton* ...
- Magento 2 创建 Widget
Widget是一个更好的工具,可以将内容插入或编辑到CMS页面块或页面中. 什么是小部件? 小部件是Magento 2配置中的强大功能.作为商店管理员,您可以利用小部件来改善生动界面下的店面.小部件允 ...
- Android开发之创建App Widget和更新Widget内容
App WidgetsApp Widgets are miniature application views that can be embedded in other applications (s ...
- Android简易实战教程--第十四话《模仿金山助手创建桌面Widget小部件》
打开谷歌api,对widget小部件做如下说明: App Widgets are miniature application views that can be embedded in otherap ...
- yii2——自定义widget
参考资料:http://www.bsourcecode.com/yiiframework2/how-to-create-custom-widget-in-yii2-0-framework/ 如何使 ...
- Jquery ui widget开发
Jquery ui 提供了一些基本的widget,但是他提供了很好的机制来创建widget.在jquery css framework中包含了基本的css样式(视觉和感觉诸如颜色,字体大小,图标等), ...
- ThinkPHP 3.2.3 Widget 扩展的使用
ThinkPHP3.2.3 手册中 Widget 扩展的地址是: http://www.kancloud.cn/manual/thinkphp/1862 Widget 扩展一般用于页面组件的扩展,和自 ...
- 使用 jQuery UI Widget Factory 编写有状态的插件(Stateful Plugins)
使用 jQuery UI Widget Factory 编写有状态的插件(Stateful Plugins) Note 这一章节的内容是基于 Scott Gonzalez 一篇博客 Building ...
- iOS开发之构建Widget
原文出处: 陈凯 在 jianshu 的博客(@chenkaiHome) 欢迎分享原创到伯乐头条 伴随这iOS 8 系统多达4000项API更新而来同样还有Today Extension.而对iO ...
随机推荐
- jetty服务器启动方法总结【备用】
1. 使用Java命令启动 java -jar start.jar ctrl + c 关闭 终端窗口一直存在 2. 使用Java命令启动2 java -jar start.jar & 启动成功 ...
- host 备份
# Copyright (c) 1993-1999 Microsoft Corp.## This is a sample HOSTS file used by Microsoft TCP/IP for ...
- Web API - Video File Streaming
关于C# WEBAPI 视频文件 http://www.codeproject.com/Articles/820146/HTTP-Partial-Content-In-ASP-NET-Web-API- ...
- HTML5中canvas大小调整
今天用到canvas元素,发现它的大小不是像普通dom元素一样,直接设置css样式可以改变的,它会由自己原本的大小伸缩. 例如, <canvas id='canvas'></canv ...
- Sublime Text 安装Emmet
1.简单的安装方法 从菜单 View - Show Console 或者 ctrl + ~ 快捷键,调出 console.将以下 Python 代码粘贴进去并 enter 执行,不出意外即完成安装.以 ...
- linux mysql操作命令
1.linux下启动mysql的命令:mysqladmin start/ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令:mysqla ...
- MVC的增删改和Razor
ASP.NET MVC中的增删改查 基本都要使用C控制器中的两个action来完成操作,一个用于从主界面跳转到新页面.同时将所需操作的数据传到新界面,另一个则对应新界面的按钮,用于完成操作.将数据传回 ...
- springboot maven install 找不到符号
好多朋友在网上找maven install 找不到符号,我今天也遇到了同样的问题,我项目结构如下: 在multicreate-web这个项目引用了multicreate-service的jar包,在i ...
- Unity4升级Unity5后Image Effects问题
Assets\Editor\Image Effects\CameraMotionBlurEditor.js 会出现Ambiguous reference 'preview'错误提示,解决方法 查找pr ...
- elasticsearch-查询
使用如下语句创建一个名字为:user_document,别名为user的索引 PUT:http://localhost:9200/user_document { "settings" ...