Ameobea / tickgrinder

Low-latency algorithmic trading platform written in Rust
MIT License
560 stars 118 forks source link

Example or test #1

Closed kination closed 7 years ago

kination commented 8 years ago

Hello~I just visited here. It looks cool project. Is there some way to test this, or sample project?

Ameobea commented 8 years ago

The project is currently in active development (last commit was a few hours ago) and it's not quite ready for trading or backtesting yet. However, the basis of the platform is ready and the instance management system is working.

I can record some videos of the parts working if you want, but there's not much in terms of a demo or practical example yet.

kination commented 8 years ago

@Ameobea Thanks! But I don't need detail example or demo. I just want to try at my laptop and look how modules and codes are running. Is there a way to see anything with this project? Just simple texts on terminal is okay too.

Ameobea commented 8 years ago

Ah I see. In that case, check out the Installation section of the readme; it has a pretty decent list of steps for getting it set up. One thing though is make sure you're using a nightly rust from September; one of the dependencies isn't quite working with current nightly.

Ameobea commented 8 years ago

Ah, I totally forgot that I made the strategies private by default 😢

Tomorrow, I'll work on setting up a default sample strategy and will reply as soon as I do so! Sorry about that.

kination commented 8 years ago

@Ameobea No problem! Thanks for help. I'll keep following it.

Ameobea commented 8 years ago

Hey @djKooks. I'm sorry I completely blew off my target of getting this in a demo-able state by ... 4 days ago, and I'm afraid I don't think it will happen any time soon.

Instead of going for a minimum functionality of "the platform runs," I plan on focusing on getting everything far enough along that people can actually implement their own strategies before even thinking about making it ready for public use.

I'm going to focus on the backtester and trade simulation aspects in the near future, so it's unlikely that I'll have a working prototype anytime soon. I'll keep this issue open, however, and reply whenever the time comes that it's ready!

kination commented 8 years ago

@Ameobea No problem~let me know when you are ready.

Ameobea commented 8 years ago

@djKooks Just a quick update:

I've been working on the backtesting system for the platform and am finally getting near a point where it will work well enough for an initial exploratory pre-alpha release. I plan on creating a dynamic strategy system that will make it possible to share the platform but keep strategies secret and an installer script that installs and configures the platform automatically.

I'll reply here once it's ready, but it should be soon! ™️

kination commented 8 years ago

@Ameobea Thanks for following up~Share on README after it is ready so other people could look on.

Ameobea commented 7 years ago

@djKooks I'm still here! I'm finally getting to work on setting up an alpha release and I really hope to have it set up by the end of the year!

I've got a whole bunch of really neat things in the works like interactive configuration application to set up the config files for all the modules automatically, a one-command build process, and a system to allow users (including me) to keep their secret strategies and stuff tracked but private and separate from the main platform.

It's going to be awesome; I'll be sure to update here once it's all ready!

kination commented 7 years ago

@Ameobea Cool! Hope to see it soon~

kination commented 7 years ago

@Ameobea It looks it is being update frequently. Is it ready to join?

Ameobea commented 7 years ago

I keep underestimating the amount of time necessary to do things and finding new things to add along the way.

I'm making lots of progress, but I really want to get a nicely polished first version before I release it officially! I'll be sure to let you know as soon as that happens.

kination commented 7 years ago

@Ameobea Thanks! I appreciate it.

kination commented 7 years ago

@Ameobea Because I'm working on Mac, I'll try to find a way to run in here.

Ameobea commented 7 years ago

There's a non-trivial amount of stuff that will only work on Linux. I had thought about making it cross platform sometime in the future, but nothing in the near future.

kination commented 7 years ago

Which Rust version are you using? I got fail like below in Rust rustc 1.12.0 (3191fbae9 2016-09-23) during running make.

error[E0554]: #[feature] may not be used on the stable release channel
  --> /Users/kwangin/.cargo/registry/src/github.com-1ecc6299db9ec823/indoc-0.1.15/src/lib.rs:13:43
   |
13 | #![cfg_attr(not(feature = "with-syntex"), feature(plugin_registrar, rustc_private))]
   |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to previous error

Build failed, waiting for other jobs to finish...
error: Could not compile `indoc`.
Ameobea commented 7 years ago

It runs on Nightly, the latest release.

Ameobea commented 7 years ago

I recommend using rustup to easily install and manage Rust versions.

kination commented 7 years ago

@Ameobea Thanks! I'll try it. One more, do you have special reason using nightly version? Is there a problem for using stable one?

Ameobea commented 7 years ago

As you can see with the error you got, some of the dependencies I use rely on features that haven't yet stabilized. There's a push to make this happen in the future, but for now it only works on Nightly.

kination commented 7 years ago

@Ameobea Okay, I understand.

kination commented 7 years ago
After cloning the repository, you'll need to copy all instances of files named conf.default.rs, conf.sample.js, or anything similar to conf.js/rs in the same directory and fill out their values as appropriate.

Where can I find con.default.rs or anything similar? I can't see it. Also, I could see this screen when run make

2017-01-13 10 03 25

but I cannot find how to go 'continue'.

Ameobea commented 7 years ago

The instructions involving configuration files is out-of-data; this is handled automatically by the configurator (which is what opened up when you ran make).

You can proceed through the terminal-based configurator by using the arrow keys and enter.

kination commented 7 years ago

@Ameobea When I press enter key, it goes out like this.

make: *** [release] Error 101
$ 

Maybe it could be problem in OSX.

Ameobea commented 7 years ago

Yes, that is almost certainly the case.

The configurator runs commands like ldconfig that are unix-only.