创建widget

简介:

1. 定义方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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. 定义接口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 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接口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 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页面

1
2
<!-- widget-start -->
<!--  new  widget -->
 

行情走势预测

  使用说明

行情走势预测,输入股票代码,系统会根据回归算法对该股票走势进行预测。

 1天 2天 3天 
结果说明:这里显示未来1-3天的各种预测值:开盘价、收盘价、最高价、最低价。
1
2
<!-- end widget -->
<!-- widget-end -->

本文转自疯吻IT博客园博客,原文链接:http://www.cnblogs.com/fengwenit/p/6204433.html,如需转载请自行联系原作者


目录
相关文章
|
关系型数据库 分布式数据库 数据库
阿里云PolarDB登顶2024中国数据库流行榜:技术实力与开发者影响力
近日,阿里云旗下的自研云原生数据库PolarDB在2024年中国数据库流行度排行榜中夺冠,并刷新了榜单总分纪录,这一成就引起了技术圈的广泛关注。这一成就源于PolarDB在数据库技术上的突破与创新,以及对开发者和用户的实际需求的深入了解体会。那么本文就来分享一下关于数据库流行度排行榜的影响力以及对数据库选型的影响,讨论PolarDB登顶的关键因素,以及PolarDB“三层分离”新版本对开发者使用数据库的影响。
883 3
阿里云PolarDB登顶2024中国数据库流行榜:技术实力与开发者影响力
|
12月前
|
人工智能 自然语言处理 关系型数据库
客户说|宝宝树选用AnalyticDB RAG引擎,共创智能母婴生活新范式
宝宝树与阿里云深度合作,利用大数据和AI技术,推出了一系列智能化产品,如AI解读B超单、AI起名等,覆盖备孕、孕期、产后等场景,提升了用户体验,推动了商业化进程。通过技术架构的优化,宝宝树在内容生产和搜索精度上取得了显著成效,未来将继续深化“AI+母婴”战略,为用户提供更全面、个性化的服务。
学生0元购|低配也能畅玩!《黑神话:悟空》云电脑攻略
《黑神话:悟空》正式上市,这款备受期待的游戏对电脑配置要求不低,但通过云电脑,你无需担心硬件限制,随时随地畅玩大作。最低仅需1.2元/小时,还能利用学生福利免费畅玩。快速上手教程与省钱攻略,助你轻松征服《黑神话:悟空》!
799 8
学生0元购|低配也能畅玩!《黑神话:悟空》云电脑攻略
|
存储 机器学习/深度学习 应用服务中间件
阿里云倚天云服务器实例:计算型c8y、通用型g8y、内存型r8y实例介绍
阿里云倚天云服务器是基于阿里云自研的倚天710 ARM架构CPU打造的高性能计算产品系列,它依托先进的第四代神龙架构,旨在为用户提供稳定可预期的超高效能体验。倚天云服务器在存储、网络性能及计算稳定性方面实现了显著提升,主要得益于其芯片级的快速路径加速技术。本文将深度解析阿里云倚天云服务器的计算型c8y、通用型g8y、内存型r8y实例,探讨其优势及适用场景,以供选择参考。
|
搜索推荐 算法 UED
必应SEO优化步骤:提升网站在必应搜索引擎中的排名
本文深入剖析了必应(Bing)搜索引擎的优化策略,为网站管理员提供了一套完整的必应SEO优化步骤。文章内容兼具深度与独特见解,旨在帮助读者在激烈的网络竞争中脱颖而出。助力您的网站迈向更高的排名。
必应SEO优化步骤:提升网站在必应搜索引擎中的排名
|
机器学习/深度学习 弹性计算 人工智能
阿里云第八代云服务器ECSg8i实例深度解析:性能及适用场景参考
目前企业对云服务器的性能、安全性和AI能力的要求日益提高。阿里云推出的第八代云服务器ECS g8i实例,以其卓越的性能、增强的AI能力和全面的安全防护,除了适用于通用互联网应用和在线音视频应用等场景之外,也广泛应用于AI相关应用。本文将深入解析ECS g8i实例的技术特性、产品优势、适用场景及与同类产品的对比,以供参考。
阿里云第八代云服务器ECSg8i实例深度解析:性能及适用场景参考
|
SQL 关系型数据库 MySQL
(七)MySQL事务篇:ACID原则、事务隔离级别及事务机制原理剖析
众所周知,MySQL数据库的核心功能就是存储数据,通常是整个业务系统中最重要的一层,可谓是整个系统的“大本营”,因此只要MySQL存在些许隐患问题,对于整个系统而言都是致命的。
487 2
|
测试技术 定位技术 项目管理
一图搞懂,全流程项目管理实践地图,驱动:市场-研发-售后
为了实现市场运营、产品研发与售后服务的有效协作,YesDev项目管理工具提供了一个全面的解决方案。它覆盖从项目成单到交付的全过程,通过清晰地划分市场运营、产品研发和售后服务三个主要阶段,加上组织管理作为基础设施,形成3+1的管理体系。 YesDev提供了一套从市场到售后的全流程管理方案,帮助企业实现跨部门高效协作。
|
机器学习/深度学习 人工智能 自然语言处理
|
数据可视化 Linux 程序员
仅需几步就可快速实现SFTP的免密传输
在程序员的日常工作中,通过FTP/SFTP等工具在服务器之间进行文件的交互是一个基操技能,无论是编码开发过程中的跨系统传输文件,还是生产部署过程中的数据索取,熟练掌握这一技能,可以大大的提高开发效率。当然,现在也有很多终端模拟器提供了可视化的文件传输功能,比如XFTP、WINSCP、MobaXterm、Finalshell等等。
287 2