FIX market data, QuickFIX or something else? [closed] - java

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
I'm looking into the possibilities to build a small JAVA application that imports real FOREX data and store it to analyze later. With this data I want to help a friend to make an algorithm. After this, the app have to also handle real transactions. Still in the orientation phase, but I do not want to waste time with implementation x and then later on find out it had to be done with implementation y.
So importing data has to be FREE, RELIABLE and FAST enough to handle future transactions based on this data.
So far I have two options;
1. Json requests to a third party, which I read is kinda slow, but I already have an idea of how I would implement it.
2. QuickFIX, used by many professional parties, but very new to me.
Json question:
Slow in a way that the data input isn't analyzed correctly and an application with algorithm has problems to work?
QuickFIX question:
Where do you get an account and the actual data from? I get the implementation, but it is unclear to me with what account QuickFIX works with and which parties I should look at.
So in a nutshell; what is the best way to go when I want trustworthy FREE data, which is FAST and RELIABLE enough to make transactions with?
Thanks in advance!

You need an account with a market data provider to get market data.
I don't know if this has changed but the last time I checked there was no access to real time market data for free. At most delayed by 15 minutes. But I do not recall if this was even via FIX protocol.
NB: you really might want to look at QuickFIX/J (since you are looking for a Java implementation)
Cheers,
Chris.

Related

How to handle data synchronisation between 2 Spring apps? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
I'm looking for the optimal way to handle the following scenario, preferably some implementation that's already been made for something like this.
There are two Systems (Springboot Webapps) that are supposed to communicate which each other through a Rest-gateway. Transfers shall be handled with Json over HTTP.
1st System is the Project part, 2nd System is the Persons part and they both implement their own persistent sql-database. Both systems depend on each others data and it cannot be expected that both systems are online at all times.
What would be the best way to achieve that both systems data is always up 2 date? Is there any plugin you could recommend to handle the synchronization process which also implements scenarios like one system shutting down while sending or the other way round?
Thanks in advance!
If you can't expect both systems to be online at all times, and you don't want any downtime when one of them is down, I think that the best way to do it is to share a common database. This has some problems of its own and you should think if it's worth, maybe you would be better having two completely independent services which rely on each other and being ready to replicate one of them if it's needed.

What should be approach to understand a new project [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
If one joins a new project, how should that person approach it if
there is no documentation of the code and program is quite big to understand. Team members are also not that much informative.
Should the person debug the code line by line?But it can be highly time consuming and exhaustive.
There are several options:
Look for manuals. I have seen projects without specification and developer documentation, but had a manual.
Participate in a training, if offered by your company. This may take some time, e.g. the next training is in 2 months.
Run the code and see what it does.
get a tool like NDepend that visualizes the dependencies. By that, find the central modules or classes. Look at those first.
Ask your developer colleagues. If they don't want to tell you, tell them that you need some understanding in order to do your job
If all of the before does not help, ask your boss for help. He should have a plan to get you productive.
The users option would be great, but in all companies I worked for I did not have access to end users as well, since we always worked with partners as intermediate resellers. Contacting the partners is not a good idea, because it might leave a negative impression if you don't know the software.

What is the best strategy to make my demo Java library/framework stop working after 30 days on Linux? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
Ok, it does not need to be something 100% secure. Something simple, that will cut 80% of people from using my demo library past 30 days and contact me.
The only thing I can think of is making my code save a file somewhere, with the date that the library started and after 30 days just exit displaying a message to contact for the full version. Of course, if the user finds out where this file is, all he has to do is delete it, so it would be nice if it could be in some kind of not so easy to find place (desktop or home directory would be silly I suppose).
Of course if he decompiles the code, he can easily turn that off, but again, I want some protection, even 50%, not 100%.
Target operating system is probably linux/unix, but I can also discover dynamically to make it work in any.
You don't mention the target operating system, so it is a little bit hard to answer the question. If your target is Windows, I would store the first start time in the Registry. Maybe this can help you.
I think your file strategy looks perfectly fine.
If you want to strengthen your scheme, you will have to contact a central service of some sort where you can detect if the same server tries to restart your evaluation time multiple times. The central server could i.e. sign a token with an expiry date that the library needs to run.
On the other hand, the more complicated this kind of schemes is, the more likely they are to fail at times and create problems for your legitimate users. You should consider this against the (probably very low) volume of users that would actively sabotage a more simple scheme.
PS: remember that in some environments multiple copies of different applications that uses your library may have to run simultaneously.

Making a program to be updated by users [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I'm trying to make a prototype for the company that I'm interning for. I would like to create a program that allows users to make minor updates that will, within 15ish seconds or so, update on everyone's screen. This program will only be used by about 20 people at one time at the most. For instance, if a person were to type click a button that went from red to green, the change to green would show on everyone's screen. I only know Java, but I'm not opposed to learning other languages. I'm just looking for places to read about this type of stuff, or ways that you know to do it.
I'm also hoping to allow an admin account to make usernames for people with differing amounts of access to making updates, but this is the later part to my project.
Thanks
With only 20 users or so, your options are pretty much wide open. You can use TCP or UDP, a web server with HTTP. I'd use TCP myself.
It will be easy to update only 20 people with small updates within 15 seconds.
Here's how to create a TCP server in C#.net
Here's how to create a simple TCP server in Java.
I suggest using ProtoBufs for the binary protocol. Its simple, compact, and allows you to change your language without needing to rewrite protocol parsing/unparsing code.

what approach should I take in heavy iterations? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I got this Java webapp (JSP+Struts+Hibernate+MySQL+tomcat6) in which there are like 20000 users right now and the number is growing up rapidly. I have to rank all the users periodically. The ranking process involves lots of objects and hibernate actions and it's fairly heavy. Talking java, unfortunately I must iterate on all of the users and apply this procedure in them one by one. this method sucks out lots of the server's resources.
on the other hand I might be able to run all these actions in a stored procedure on the MySQL side. I'm pretty sure the code there will be a complete mess and troublesome to modify later on. although the performance would be much more better this way but software engineering principles wouldn't take this solution nicely.
what do you suggest?
This is obviously much more efficient in SQL. The real problem is that you are using hibernate and so have lost control over your schema which is why a solution like iBatis, although less popular, makes more sense - because it allows you to switch to SQL when that is the more appropriate tool for the job.
Given that you have chosen hibernate, are you sure that you can't push the API it provides into doing this? Have you looked in detail at the criteria API? That includes associations - it might be possible to shoe-horn what you want in there and so keep the logic more closely associated with the classes. http://docs.jboss.org/hibernate/stable/core/reference/en-US/html/querycriteria.html

Categories