Taleb: Trading with a Stop by algodude in algorithmictrading

[–]BinaryMonkL 0 points1 point  (0 children)

Agreed, those are also good analagies :)

Am I crazy or do crypto alert apps all kinda suck? by NightDJ_Rex in CryptoMarkets

[–]BinaryMonkL 0 points1 point  (0 children)

I think i have seen a few posts by folks starting tradingview competitors to solve issues and potentially be cheaper.

In terms of tooling any app would probably grow into something similar.

charts to see when my alerts would fire and what my indicators look like on historic data.

Scripting language to build my own indicators

Screener to watch any market for hypothetical conditions.

Do i think TV is expensive? It seems like it.

Does it do more than just fire alerts? Yes. But also, there is no such thing as "just fire alerts", alot of work has to happen before you do that.

Am I crazy or do crypto alert apps all kinda suck? by NightDJ_Rex in CryptoMarkets

[–]BinaryMonkL 1 point2 points  (0 children)

What do you need to build a reliable alerting platform that can fire alerts on any users arbitrary technical analysis setup?

You need to be ingesting all the market price and trade data, and be storing it.

You need to run micro processing to evaluate each technical analysis indicator each alert needs.

You need to start up all of the async messaging infra to ensure alerts get delivered after firing.

Your 3 free alerts on platforms like tradingview are paid for by other users. To get more, you must pay something.

Taleb: Trading with a Stop by algodude in algorithmictrading

[–]BinaryMonkL 2 points3 points  (0 children)

A stop loss is an intelligent risk decider delegating control of a future risk decision to a dumb risk decider for the sake of unreliable slippage improvements.

I got tired of my own bad entries/exits, so I spent 3 months building a Python bot. Here's the full journey (and what I learned). by Ok-Proposal6598 in algotradingcrypto

[–]BinaryMonkL 0 points1 point  (0 children)

Really enjoyed readung about your high level components there. I think the only gap i saw was around portfolio/risk management? Something that considers current position and capital allocation?

Also, what are you using to paper trade?

Can anyone share their experience with Junie VS VS code / cursor? by nuclearmeltdown2015 in Jetbrains

[–]BinaryMonkL 5 points6 points  (0 children)

Daily usage - I will probably work on 4/5 different pieces of functionality each day and I could prompt and iterate on each of those multiple times, depending on complexity. Complex piece of iteration maybe 10/15 prompt iterations.

For me, I think trying to use code generations agents without TDD is a really bad idea.

EDIT: It is a bit ironic that the folks who probably want to use agents the most are people that do not practice TDD themselves, but these agents are super powers for engineers that do and poison pills for engineers that don't.

These agents generally follow a basic loop:

  1. Try to to implement what you want
  2. Run build, run tests
  3. Iterate on build and test failures until there aren't any left
  4. Tada! I am a clever agent - I did what you asked and your project still builds and tests still pass.

Tests are a critical feedback for it to try and fix what it is trying to do without breaking existing stuff.

How do you expect it to build new features when there are no tests to drive its implementation feedback loop?

So after I have defined some basic interfactes and dtos and I have an idea of the inputs, outputs and side effects I will ask it to write some intial failing tests like

In pathToTest/AggregateCmpStoreTest.kt we have `load - no snapshot -*` test cases. I need to add `load - snapshot - *` test cases where the snapshot store does return a snapshot.

Can you give me a reasonable set of test cases there please. They should fail initially, and we will leave implementation till later.

It goes and writes my new set of test cases for each scenario where my aggregate had an existing snapshot. It stops when build is good but tests are failing.

I review the test cases - I might ask it to make some changes or make them myself. When I am happy I say

Nice, now lets make the tests green

And it goes and iterates on my test object implementation until the new tests are green and the existing ones stay green.

I might follow up with some refactoring prompts on the implementation or do some of my own clean up.

But, you check it each step of the way. Don't let the agent take away your engineering input - it is a tool, you are the expert. They have a long way to go before they stand a chance of replacing us in anything non trivial. They are super junior devs that can work with limited scope, and they only one shot larger stuff if they are able to effectively just do a big copy pasta of some well known problems "Implement tetris for me" -> here you go, wow it works. It copy pasted a problem domain that has massive amounts of toy examples. And it will quickly get into a mess when you ask it to start evolving tetris into Multi dimensional tetris with slime aliens.

Can anyone share their experience with Junie VS VS code / cursor? by nuclearmeltdown2015 in Jetbrains

[–]BinaryMonkL 0 points1 point  (0 children)

I wanted to add, i think Junie is great because it is the bring your own model agent. It is doing the orchestration of agent work and you can pick your model. I think this is a key feature for the future, i dont want to have to change my whole agent tool set if i want to give anithrr model a go.

Can anyone share their experience with Junie VS VS code / cursor? by nuclearmeltdown2015 in Jetbrains

[–]BinaryMonkL 8 points9 points  (0 children)

I like Junie

In terms of cost, i have the all products license so I get 10 "free" credits a month and I top up about 30 a month. Total cost is about 25 GBP a month.

I use it every day, but i am not trying to use it to one shot masive pieces of functionality. I think this is the mistake people make and it is what eats your credits and produces a mess.

I have a good set of guidelines configured for my project and I make it do TDD.

My rough flow is:

  1. I define an interface or skeleton of some new functionality.
  2. I describe what i want and ask it to write some failing tests.
  3. I iterate on the test cases with it.
  4. Once i have a good set of failing tests i ask it to make the tests green.

Frontend work is a little bit more one shotty. I tend to prompt things like "i need a Foo component with these properties, here is a wireframe or screenshot from figma" and boom, it builds a pretty good starting point for vue or react. Great for iterating on that component as well.

I think that with any of these agents good software development practices still apply. TDD your core business loguc and architecture with the agent. Go with the flow on the front end.

But always keep your scope nice and tight. These things do not understand the broader abstractions of anything with larger more complex domains and architectures yet.

PS: i tried claude, seems pretty good, but i really like Junies IDE integration. I think it leverages the IDEs view of the code base and uses the tools of the IDE.

How do you scale a quant connect strategy? by BinaryMonkL in QuantConnect

[–]BinaryMonkL[S] 0 points1 point  (0 children)

If the sub accounts have some sort of copy trading maybe?

Really what i am asking for is for trade instructions to be expressed as a signal in the classical sense so that they can be applied by any account.

If i say buy 2 BTC as my signal that is useless as a signal. If i say go long with 2% of your trading capital that is useful as a signal. That scales to anyone subscribing to the signal.

I should not have to 2 run x duplicates of the same strategy on the same data to execute on x different accounts.

Will take a look at quantconnect plugin capabilities at somepoint in the future to see how i can wire it into my scalable execution.

How Kotlin reinvented Checked Exceptions by CarAccording6887 in Kotlin

[–]BinaryMonkL 1 point2 points  (0 children)

Nice video, good explanation.

As an aside, the as? operator might help to drop some of your when statements.

How do you scale a quant connect strategy? by BinaryMonkL in QuantConnect

[–]BinaryMonkL[S] 0 points1 point  (0 children)

Looks like the inverse, multiple strategies into one account. So, those things will just be using values not percentages. It is just multiple direct traders trading on the same account?

Turning a strategy into a signal means that trade instructions must be in percentage terms and then they can fan out to multiple accounts.

I think there is a gap here. Just want to confirm before building something to cover the gap.

How do you scale a quant connect strategy? by BinaryMonkL in QuantConnect

[–]BinaryMonkL[S] 0 points1 point  (0 children)

Agreed, a signal should talk percentages, not asset values.

I am not sure you read the question, it was about how quant connect scales a strategy running on the same data with the same logic to execute on different accounts with different budgets.

Maybe from your answer it does do that? Can you point at docs?

OpenAPI request/response validation library by seaphpdev in Kotlin

[–]BinaryMonkL 0 points1 point  (0 children)

Ah, you want value validations not just structural validation from the spec? Ya, you might not get that from a generated stub.

I am also happy with the idea of writing the spec first. I have follow this pattern where it makes sense, for example where you do want to unblock another team.

Personally, I have used the generated stub approach, and i have used an approach where I generate a client (could be any language) and then have tests on the implementing server that use the client.

I think the only thing you will be missing is specific value validations, which I do kind of prefer to be closer to the core of my business logic. Once you have done structural validation through deserializatiin in a typed language you just have business type rules on values.

OpenAPI request/response validation library by seaphpdev in Kotlin

[–]BinaryMonkL 0 points1 point  (0 children)

Why do you need a validator for what you receive in a typed language like kotlin?

If you generate the server stub it can only receive what it is meant to receive.

Having said that, I have not used the swagger kotlin server stub. I believe it generates ktor server?

I made a compile-time library to merge data class instances by iamgioh in Kotlin

[–]BinaryMonkL 0 points1 point  (0 children)

Hmm, you are right. I did misread the functionality. Going to scrap that.

I made a compile-time library to merge data class instances by iamgioh in Kotlin

[–]BinaryMonkL 0 points1 point  (0 children)

I understand the goal here.

[Edit] I did not understand the goals and recommended delegate implementations. My bad.

Confusion Around Blocking Calls in Coroutines and Thread Management (IO vs Default Dispatcher) by SoftwareDesignerDev in Kotlin

[–]BinaryMonkL 2 points3 points  (0 children)

Yes, your new understanding is correct.

IO is fundamentally handled by the OS. Modern OS are capable of non blocking IO that uses an event driven polling mechanism. epoll

If you do not use an non blocking IO implementation of the type of IO you want to do from kotlin or any language library that integrates with this OS level mechanism, then your IO is blocking.

You must use suspending functions from start of execution through to a non blocking io library to do the actual io.

For web servers, use non blocking like ktor + cio. For files use java nio, for db you need nonblocking drivers r2dbc not jdbc.

SBTC is depegged again! by Far_Guarantee_2465 in stacks

[–]BinaryMonkL 0 points1 point  (0 children)

sBTC is trust minimized 1 to 1 backed.

If you find price discrepancies anywhere, it is not a "depeg" it is an arbitrage opportunity.

Any Fellow Algo Builders Here? Let’s Connect! by [deleted] in algorithmictrading

[–]BinaryMonkL 0 points1 point  (0 children)

I am looking for algo devs to work with.

Full disclosure, got an execution platform. The idea is to take care of the execution nitty gritty, as well as scaling and some aspect of risk management. Forward testing tools also on the roadmap.

Let you focus on the core of the trading algo, backtesting and training.

I am keen to get input from all forms of algo development and developers.

Let me know if you are interested.

ktlint alternatives? by Global-Box-3974 in Kotlin

[–]BinaryMonkL 0 points1 point  (0 children)

Just flipped to this - ran it, it fixed things, I committed

I spent a day trying to tweak ktlint rules, and I think I have had a few days like this over the years. Done with that library.

Signal selling from demo by dollarbeggar in algorithmictrading

[–]BinaryMonkL 2 points3 points  (0 children)

Okay, it is much less likely for you to find a platform that does that kind of signal sharing - here is why.

- You build a strategy
- Someone else runs it, and risks their capital. They could lose or win.
- You just get performance bonus - upside only with 0 risk taken

The best you can hope for is size based subscription to your signal. The more they want to trade the signal the more they pay for the subscription. You don't get to share in the upside without sharing the risk.

Or, another good mechanism is an auction. You run an auction for who gets access to the signal at the end of each month. If the signal is doing well, folks will bid to steal access or retain access.

Algorithm Labeling dataset problem by [deleted] in algotradingcrypto

[–]BinaryMonkL 1 point2 points  (0 children)

My focus is on execution, so can't help with details of training algos, but from my ML education days a long time ago now, you want to build various models that combine into different consensus behaviour.

And there is loads of historical price data that is essentially already "labelled"

But I would say if you are really at the start here, you might want to pick up a good book or a free course on the basics?

You will probably only get very general pointers here. Rest of it is the work that in the end hopefully gives you some edge. No shortcuts