You can create two separate soft body simulations - one for the balloon and the other for the string - and link them together via the Copy Location constraint.
Start by creating the balloon and then, in Edit mode, select just the vertex where you want to attach the string. On the Mesh properties add a new Vertex Group and name it 'Knot'. Assign the selected vertex to the group.
Create the string as a separate mesh as a string of vertices (you can add thickness via a Skin modifier). In Edit mode, select just the 'top' vertex and, again, add a vertex group and assign the selected vertex to the group. In Object mode, add Soft Body and use the new group in the Goal properties so only that vertex is pinned. Increase the Default goal strength to 1.0. Also, set the origin of the 'string' mesh to the location of that top vertex.
Now, add a Copy Location constraint to the string, specifying the balloon as the Target. Set the Vertex Group on the constraint to the 'Knot' vertex group. This should result in the string being tied to and following the balloon while still being a separate soft body (so they can have different Field Weights (ie, negative gravity for the balloon, positive gravity for the string)).
This should produce a result similar to the following :