Py经典案例:利用Python调用数据库历史记录文件,实现BTC、LTC等Encrypted currency找出最佳出仓价、收益比的加密币模拟交易系统-阿里云开发者社区

开发者社区> 一个处女座的程序猿> 正文

Py经典案例:利用Python调用数据库历史记录文件,实现BTC、LTC等Encrypted currency找出最佳出仓价、收益比的加密币模拟交易系统

简介: Py经典案例:利用Python调用数据库历史记录文件,实现BTC、LTC等Encrypted currency找出最佳出仓价、收益比的加密币模拟交易系统
+关注继续查看

实现结果

image.png

设计思路

image.png

实现代码


#!/usr/bin/env python

# -*- coding: utf-8 -*-

#利用Python调用数据库历史记录文件,实现BTC等找出最佳出仓价、收益比的加密币模拟交易系统

import sqlite3

from simulator import runSimulation

from drama import dramaticTyping

def fetchCoins():  #调用数据库的db文件实现价格显示的功能

   connection = sqlite3.connect('F:/File_Python/Python_example/CryptoTradingSimulator-master/CryptoSimulator/currency_monitor.db')

   cursor = connection.cursor()

   query = "SELECT first_leg, ask FROM prices WHERE timestamp='1520408341.52' AND second_leg='USD';"  

   cursor.execute(query)  

   coinAskPrices = cursor.fetchall()  

   coins = {}

   for coinAskPrice in coinAskPrices:

       if coinAskPrice[0] in coins:

           continue

       coins[coinAskPrice[0]] = {"price":coinAskPrice[1], "curreny":coinAskPrice[0]}

       dramaticTyping("{} - ${} \n".format(coinAskPrice[0], round(coinAskPrice[1],4)))

   return coins

def welcome():

   print("\n")

   dramaticTyping("Simple Crypto Trading Simulator \n")

   dramaticTyping("Hey Yo, you are back in time. It's Wednesday, March 7, 2018 7:39 AM \n")

   dramaticTyping("Here are the crypto currencies you can invest. \n")

   dramaticTyping("Fetching prices ... \n")

def inputBuy():

   dramaticTyping("Select the crypto curreny you want to buy? \n")

   curreny = input("").upper()

   dramaticTyping("That's great. How much quantity you want to buy? \n")

   quantity = float(input(""))

   return curreny, quantity

def quitMenu():

   dramaticTyping("Do you want to try again? Y/N ")

   answer = input("").upper()

   if answer == 'Y':

       main()

   else:

       exit()

def main():

   welcome()

   coins = fetchCoins()

   currency, quantity = inputBuy()

   try: #处理异常

       price = coins[currency]['price']  

   except Exception as e:

       dramaticTyping("Invalid currency entered, please try again \n")

       inputBuy()

   runSimulation(coins[currency]['price'], quantity, currency)

   quitMenu()

main()


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
python/pandas/numpy(十二)数据加载、存储与文件格式
基本命令 pd.read_csv('1.txt') 只想读几行文本文件 pd.read_csv('1.
1051 0
利用python做数据分析(五)-读取合并多个文件
pieces=[] columns=['name','sex','births'] for year in range(1880,2011): path=('C:\\Users\\ec...
898 0
PHP查询数据库中满足条件的记录条数(二种实现方法)
在需要输出网站用户注册数或者插入数据之前判断是否有重复记录时,就需要获取满足条件的MySQL查询的记录数目,接下来介绍两种查询统计方法,感兴趣的朋友可以了解下啊,或许对你有所帮助     在需要输出网站用户注册数,或者插入数据之前判断是否有重复记录的时候,就需要获取满足条件的MySQL查询的记录数目。
624 0
[20121214]数据库错误记录.txt
[20121214]数据库错误记录.txt--自己参照许多文档,写了一个检测数据库错误的例子:--以sys用户登录,建立表CREATE TABLE SYS.ERROR_LOG(  IP_ADDRESS       VARCHAR2(30 BYTE),  USER...
591 0
+关注
一个处女座的程序猿
国内互联网圈知名博主、人工智能领域优秀创作者,全球最大中文IT社区博客专家、CSDN开发者联盟生态成员、中国开源社区专家、华为云社区专家、51CTO社区专家、Python社区专家等,曾受邀采访和评审十多次。仅在国内的CSDN平台,博客文章浏览量超过2500万,拥有超过57万的粉丝。
1701
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载