A not-so-small (anymore) analysis tool that I am developing to help find profitable items to trade in Eve Online. It is currently focused on day-trading with plans to add arbitage trading much like Eve-Central.
It is my first foray into web development with python, and any kind of significant database work.
Make sure you have the following installed on your system, and that both python and virtualenv are in your PATH:
- Python 2.7
- virtualenv
- pip
Directions for installing these is beyond the scope of this README, if you need any help please contact me directly.
Next, open up a terminal to the folder with the source code and execute the following:
# Create a virtual environment.
virtualenv env
# Activate the virtual environment.
env\Scripts\activate.bat
# Install required dependencies.
pip install -r requirements.txt
Windows installations will complain at you for some things not available in PIP.
# Create a virtual environment.
virtualenv env
# Activate the virtual environment.
source env/Scripts/activate
# Install required dependencies.
pip install -r requirements.txt
Finally, you will need the latest eve static data in SQLITE form. This should contain all the tables from the CCP Fan Toolkit located here
Hint: You can probably find the right sqlite database here: http://pozniak.pl/wp/?page_id=530
Also, you must have an instance of MySQL installed somewhere, and the credentials set correctly in config.py.
After the first run, to get best performance, you should create an index on the orders table using the following command (inside mysql):
CREATE INDEX typeregion ON orders (typeID, regionID);
http://stackoverflow.com/questions/2332768/how-to-avoid-mysql-deadlock-found-when-trying-to-get-lock-try-restarting-trans
Optional: MySQL by default has a query cache that can provide stale results to the user, therefore it is STRONGLY recommended that you disable the query cache by setting query_cache_size in the mysql config to 0.
After having run through the setup (Make sure you have the Eve sqlite database!), use one of the options below.
Open a shell in this directory, then run:
env\Scripts\activate.bat
python run.py
Open a shell in this directory, then run:
source env/Scrips/activate
python run.py
Once the program is started, you can navigate to http://localhost:5000 to check it out. Note that the price information for the trader will not be available until all of the price data has been pulled, which usually takes ~9 minutes due to Eve Central's service being slow.
Here I have the (rough) roadmap for where I want this project to go.
Goal: Get rich in Eve Online through market trading.
Types of Trade:
Day Trading (0.01 Game)
Long Term Trading (Trend Prediction)
Transportation:
Buy at A, Sell at B
Bring Supply to Demanding Regions
Current information:
Buy:
Max Buy Price
[Min Buy Price]
[Average Buy Price]
Number of Buy Orders
Number of Items to be Bought
Sell:
Min Sell Price
[Max Sell Price]
[Average Sell Price]
Number of Sell Orders
Number of Items to be Sold
Time of Update
Historical information (Volume Bought/Sold)
Historical information:
Buy:
Max Buy Price
Min Buy Price
Average Buy Price
Median Buy Price
Standard Deviation
Volume Bought
[5%?]
Sell:
Max Sell Price
Min Sell Price
Average Sell Price
Median Sell Price
Standard Deviation
Volume Sold
[5%?]
Aggregate fields:
[Outlier Support]
Time Granularity: Daily
Scope of data:
Station -> System -> Region
Primary Foci:
Jita -> Null Sec Hubs -> Amarr -> Rens -> Dodixie -> Hek
Trade Route finder...
What we have:
orderid
regionid
systemid
stationid
typeid
bid
price
minvolume
volremain
volenter
issued
duration
rng
reportedby
reportedtime
What we want:
typeid
stationid
systemid
regionid
date
maxbuyprice
minbuyprice
maxsellprice
minsellprice
avgbuyprice
avgsellprice
medbuyprice
medsellprice
buystddev
sellstddev
volbought
volsold
number of orders and demand
* Num orders* and *demand*
- Market statistics research
- Modelling Supply vs Demand
- In Game Browser integration for pulling orders